请问PHP中的面向对象,JAVA面向对象一样吗。如果不一样,有什么区别(有好的回答的的话回加分的)
2个回答
展开全部
没有哪2种语言的面对对象做法是完全一样。所以回答是“不一样”。
由于各自语言的特性,细节区别非常多,不可胜诉。
总体上,php在设计对象模型式参考了java的设计,但改成适应php自身的形式。
php没有java的自动化class loader,在类的读取和对象创建上就要注意先后。php的自动读取要手动设置。
php由于自身是动态类型语言,变量本身的类型动态,就没有java的重载功能。这也导致类设计上的一些很大区别。
php的动态特性和具有自我反射能力,可以把方法名称当成“消息”发送,在运行时判断对象是否能接收消息,java的静态就不能直接应用这样的设计。
php6.x之前估计不会类似java的有名字空间或包管理机制。
php的对象可以动态地后添加属性增减数据,java是禁止这样做的。
php的方法名称还不区分大小写。
php的动态特性也就不需要模板泛型编程的特性。在java中泛型也占很重要的一部分。
等等等等
相同点,都具有final,抽象类,接口,变量可见度等语法。
总之,这些不同都是由语言特性和适用场合决定的
由于各自语言的特性,细节区别非常多,不可胜诉。
总体上,php在设计对象模型式参考了java的设计,但改成适应php自身的形式。
php没有java的自动化class loader,在类的读取和对象创建上就要注意先后。php的自动读取要手动设置。
php由于自身是动态类型语言,变量本身的类型动态,就没有java的重载功能。这也导致类设计上的一些很大区别。
php的动态特性和具有自我反射能力,可以把方法名称当成“消息”发送,在运行时判断对象是否能接收消息,java的静态就不能直接应用这样的设计。
php6.x之前估计不会类似java的有名字空间或包管理机制。
php的对象可以动态地后添加属性增减数据,java是禁止这样做的。
php的方法名称还不区分大小写。
php的动态特性也就不需要模板泛型编程的特性。在java中泛型也占很重要的一部分。
等等等等
相同点,都具有final,抽象类,接口,变量可见度等语法。
总之,这些不同都是由语言特性和适用场合决定的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询