什么时候一种语言会被称为完全面向对象的语言?
When a language will be called that it is fully object oriented language?
我从 Google playstore 中引用了一个名为 AllTech 的教程应用程序,据说 java 不是完全面向对象的语言,因为它使用的是原始类型。
我想知道为什么它不是完全面向对象的语言,因为它使用原始类型。每个面向对象的语言都有原始类型。
那么,要成为完全面向对象的语言,需要什么样的语言?
感谢您抽出宝贵时间调查此问题。
封装。
遗产。
多态性。
抽象。
如果语言具有这些属性,那么它就可以用来做"full"面向对象的编程。
在Java中,图元不是对象。这是一个有意识的设计决定,以提高性能方面。例如,int
周围没有抽象,也不能从 int
继承并且 int
不封装任何东西(甚至不封装它包含的位数),也不int
可以是多态的吗(尽管编译器 "helps" 在某种程度上具有自动装箱和提升功能)。
所以,在某些方面,一种语言需要一些东西才能完全面向对象,但在其他方面,它需要缺少一些东西才能仅面向对象。 Java 是完全面向对象的,但它也有原语。如果没有它们,那就只能是面向对象了。
人们开始以混合模式学习 Java。他们学会一起使用对象和基元。这有一些好处和一些风险。风险在于他们可能会在不接受面向对象观点的情况下进行编程。优点是他们可以在学习面向对象的同时利用更熟悉的迭代编程范式。
真正的程序很少会只坚持一种范式而不是另一种范式,但当他们这样做时,他们通常会看到优势,因为当两种方法发生冲突时不必处理有问题的位。
我从 Google playstore 中引用了一个名为 AllTech 的教程应用程序,据说 java 不是完全面向对象的语言,因为它使用的是原始类型。
我想知道为什么它不是完全面向对象的语言,因为它使用原始类型。每个面向对象的语言都有原始类型。
那么,要成为完全面向对象的语言,需要什么样的语言?
感谢您抽出宝贵时间调查此问题。
封装。 遗产。 多态性。 抽象。
如果语言具有这些属性,那么它就可以用来做"full"面向对象的编程。
在Java中,图元不是对象。这是一个有意识的设计决定,以提高性能方面。例如,int
周围没有抽象,也不能从 int
继承并且 int
不封装任何东西(甚至不封装它包含的位数),也不int
可以是多态的吗(尽管编译器 "helps" 在某种程度上具有自动装箱和提升功能)。
所以,在某些方面,一种语言需要一些东西才能完全面向对象,但在其他方面,它需要缺少一些东西才能仅面向对象。 Java 是完全面向对象的,但它也有原语。如果没有它们,那就只能是面向对象了。
人们开始以混合模式学习 Java。他们学会一起使用对象和基元。这有一些好处和一些风险。风险在于他们可能会在不接受面向对象观点的情况下进行编程。优点是他们可以在学习面向对象的同时利用更熟悉的迭代编程范式。
真正的程序很少会只坚持一种范式而不是另一种范式,但当他们这样做时,他们通常会看到优势,因为当两种方法发生冲突时不必处理有问题的位。