当一种语言被称为完全面向对象的语言时?

时间:2015-10-02 14:21:33

标签: java oop primitive-types

我在Google Play商店中推荐了一个名为AllTech的教程应用,据说java不是一种完全面向对象的语言,因为它使用的是PRIMITIVE TYPE。

我想知道为什么它不是完全面向对象的语言,因为它使用原始类型。每个面向对象的语言都有原始类型。

那么语言需要什么才能成为完全面向对象的语言?

感谢您宝贵的时间来研究这个问题。

1 个答案:

答案 0 :(得分:4)

封装。 遗产。 Polymorphisim。 抽象。

如果语言具有这些属性,则可以使用它来完成"完整"面向对象编程。

在Java中,原语不是对象。这是一个有意识的设计决策,以改善性能方面。例如,int周围没有abstration,也不能从int继承而int不会封装任何内容(甚至不包含它包含的位数) ,int也不能是多态的(虽然编译器"在某种程度上有助于自动装箱和推广)。

因此,在某些方面,语言需要一些完全面向对象的东西,但在其他方面,它需要缺少某些东西才能 对象取向。 Java完全面向对象,但它也有原语。如果它缺少它们,那么它只是面向对象。

人们开始以混合混合模式学习Java。他们学会一起使用对象和基元。这有一些优点和一些风险。风险在于他们可能在没有采用面向对象的观点的情况下进行编程。优点是,当他们学习面向对象时,他们可以利用更熟悉的迭代编程范例。

真正的程序很少只遵循一种范式而不是另一种范式,但是当它们这样做时,通常它们会看到优势,因为当两种方法碰撞时不必处理有问题的位。