我在Google Play商店中推荐了一个名为AllTech的教程应用,据说java不是一种完全面向对象的语言,因为它使用的是PRIMITIVE TYPE。
我想知道为什么它不是完全面向对象的语言,因为它使用原始类型。每个面向对象的语言都有原始类型。
那么语言需要什么才能成为完全面向对象的语言?
感谢您宝贵的时间来研究这个问题。
答案 0 :(得分:4)
封装。 遗产。 Polymorphisim。 抽象。
如果语言具有这些属性,则可以使用它来完成"完整"面向对象编程。
在Java中,原语不是对象。这是一个有意识的设计决策,以改善性能方面。例如,int
周围没有abstration,也不能从int
继承而int
不会封装任何内容(甚至不包含它包含的位数) ,int
也不能是多态的(虽然编译器"在某种程度上有助于自动装箱和推广)。
因此,在某些方面,语言需要一些完全面向对象的东西,但在其他方面,它需要缺少某些东西才能 对象取向。 Java完全面向对象,但它也有原语。如果它缺少它们,那么它只是面向对象。
人们开始以混合混合模式学习Java。他们学会一起使用对象和基元。这有一些优点和一些风险。风险在于他们可能在没有采用面向对象的观点的情况下进行编程。优点是,当他们学习面向对象时,他们可以利用更熟悉的迭代编程范例。
真正的程序很少只遵循一种范式而不是另一种范式,但是当它们这样做时,通常它们会看到优势,因为当两种方法碰撞时不必处理有问题的位。