Подтвердить что ты не робот

Java - это чисто ориентированный объект или нет?

Я хотел бы знать, является ли Java чисто ориентированной по объектам или нет. Пожалуйста, объясните это на примере. Я изучил это, но я не смог найти точный ответ.

4b9b3361

Ответ 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