Я хотел бы знать, является ли Java чисто ориентированной по объектам или нет. Пожалуйста, объясните это на примере. Я изучил это, но я не смог найти точный ответ.
Java - это чисто ориентированный объект или нет?
Ответ 1
Есть много аргументов вокруг того, является ли Java чисто объектно-ориентированной или нет.
По моему мнению, Java теперь является чисто объектно-ориентированным языком, поскольку он имеет классы-оболочки.
Таким образом, вы можете использовать Integer
, Float
и т.д. Вместо int
, Float
и т.д. (Всего восемь примитивных типов).
Но так как Java имеет эти восемь примитивных типов, критики скажут, что Java не является чисто объектно-ориентированной.
Ответ 2
Например, он содержит 8 примитивных типов данных.
Для того чтобы язык был "чистым", все должно существовать как объекты, но int
, float
, char
,.. и т.д. Не являются объектами в Java.
Вот пример:
int i = 42;
System.err.println(i.toString());
Ответ 3
Java - это язык OOP, и это не чистый язык программирования на основе объектов. Многие языки объектно ориентированы. Для того чтобы язык программирования был чистым объектно-ориентированным, должно быть удовлетворено семь качеств. Это:
- Инкапсуляция/Скрытие данных
- Наследование
- Полиморфизм
- Абстракция
- Все предопределенные типы - это объекты
- Все операции выполняются путем отправки сообщений объектам
- Все пользовательские типы являются объектами.
Java не потому, что он поддерживает примитивный тип данных, такой как int, byte, long... и т.д., которые будут использоваться, которые не являются объектами. Контраст с чистым языком ООП, таким как Smalltalk, где нет примитивных типов, а логические, int и методы - все объекты.
Этот ответ берется из http://wiki.answers.com/Q/Why_is_Java_not_a_pure_OOP_Language
Ответ 4
нет, он имеет примитивные типы данных, поэтому я бы сказал, что он не полностью объектно-ориентирован. Я думаю, что Smalltalk можно считать чистым объектно-ориентированным, чем java.
Прямо из wiki
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