私は希望のトピックについて多くの質問をしています。オブジェクトベースのオブジェクト指向言語
1> C#は
2ベースのオブジェクト指向またはオブジェクトである> Javaはオブジェクト指向またはオブジェクトである私の知識のC#あたりとして
をベースのオブジェクト指向であり、それは、その後どのような真であればJavaは、オブジェクトベースでありますJavaをオブジェクト指向ではない方向に向ける。
私は希望のトピックについて多くの質問をしています。オブジェクトベースのオブジェクト指向言語
1> C#は
2ベースのオブジェクト指向またはオブジェクトである> Javaはオブジェクト指向またはオブジェクトである私の知識のC#あたりとして
をベースのオブジェクト指向であり、それは、その後どのような真であればJavaは、オブジェクトベースでありますJavaをオブジェクト指向ではない方向に向ける。
オブジェクトベースプログラミングパラダイムは、inheritance
を除くオブジェクト指向プログラミングのすべての機能を利用しています。たとえば、JavaScript
はオブジェクトベースですが、Java
はオブジェクト指向です。
これらの2つの用語を互いに排他的に使用するのが一般的ですが、実際にはobject oriented
言語もobject based
ですが、逆もありません。
C#とJavaはともにobject-oriented languagesです。
一般的に、言語は、本当にオブジェクト指向言語の特定の中心的な機能、すなわち継承と多型に対応していない場合、"object-based"とみなされます。オブジェクトベースの言語の良い例は、VB 6(プリ.NET版)です。オブジェクト上にはに基づいてでしたが、継承または多相をサポートしていないため、真にオブジェクト指向言語と見なすことができません。
しかし、Javaは多態性の一部である演算子のオーバーラップをサポートしていません –
@slash shogdhe:演算子のオーバーロードはオブジェクト指向の特性ではありません。それはちょうどそこに多くの意味を作ります。 – DarkDust
@slash:演算子のオーバーロードが多態性の一部であることはわかりません。それは必ずしもオブジェクト指向のパラダイムの一部ではないし、オーバーロードが反OOであると主張するものさえあるだろう。さらに、「純粋な」オブジェクト指向言語がどのように見えるのかについての実際の定義はありません。あなたはすでに答えを知っていると思うかどうか質問するのはなぜですか? –
「オブジェクト指向」と「オブジェクトベース」はほとんどのコンテキストで同義語です。質問を明確にするために、用語の定義を提供する必要があるかもしれません。 –
あなたが書いたもののようなものはありません、質問は完全に正しいです –
否定的な点を与える前に私は恥ずかしそうに質問の適切な知識を持っていると思います回答の知識も同様 –