21

Java が純粋なオブジェクト指向かどうか知りたいです。例を挙げて説明してください。私はそれをゴーグルしましたが、正確な答えを見つけることができませんでした。

4

4 に答える 4

20

Java が純粋にオブジェクト指向であるかどうかについては、多くの議論があります。Java にはラッパー クラスがあるため、純粋なオブジェクト指向言語と見なす必要があります。Integerしたがって、Floatなどの代わりに などintを使用できますfloat(合計 8​​ つのプリミティブ型があります)。

しかし、Java にはこれら 8 つのプリミティブ型があるため、Java は純粋なオブジェクト指向ではないと批評家は言うでしょう。

于 2012-10-11T09:40:40.147 に答える
15

For example it contains 8 primitive data types. For a language to be "pure oo" everything should exists as objects, but int, float, char, .. etc are not objects in Java.

Here's an example:

int i = 42;
System.err.println(i.toString());
于 2012-10-11T09:37:55.753 に答える
9

Java は OOP 言語であり、純粋なオブジェクト ベースのプログラミング言語ではありません。多くの言語はオブジェクト指向です。プログラミング言語が純粋なオブジェクト指向であるために満たすべき 7 つの性質があります。彼らです:

  • カプセル化/データ隠蔽
  • 継承
  • ポリモーフィズム
  • 抽象化
  • 定義済みの型はすべてオブジェクトです
  • すべての操作は、オブジェクトにメッセージを送信することによって実行されます
  • すべてのユーザー定義型はオブジェクトです。

Javaは、オブジェクトではないint、byte、longなどのプリミティブデータ型の使用をサポートしているためではありません。プリミティブ型がなく、boolean、int、およびメソッドがすべてオブジェクトである Smalltalk のような純粋な OOP 言語とは対照的です。

この回答はhttp://wiki.answers.com/Q/Why_is_Java_not_a_pure_OOP_Languageから取得したものです

于 2012-10-11T09:39:47.520 に答える
6

いいえ、プリミティブなデータ型を持っているため、完全にオブジェクト指向ではないと言えます。SmalltalkはJava よりも純粋なオブジェクト指向と見なすことができると思います。

ウィキから直接 Smalltalk is a "pure" object-oriented programming language, meaning that, unlike Java and C++, there is no difference between values which are objects and values which are primitive types. In Smalltalk, primitive values such as integers, booleans and characters are also objects

于 2012-10-11T09:39:08.823 に答える