黑马程序员技术交流社区

标题: 谁能说说基于对象和面向对象的区别? [打印本页]

作者: 万正    时间: 2012-3-24 18:48
标题: 谁能说说基于对象和面向对象的区别?
java是面向对象的,而javascript是基于对象的,这两个概念有什么区别啊?
作者: 黄奇耀    时间: 2012-3-24 18:55
“面向对象”和“基于对象”两个不同的概念。
面向对象的三大特点(封装,继承,多态)缺一不可。
通常“基于对象”使用对象,但是无法利用现有的对象模板产 生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点,而“多态”是表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”。
现在的很多流行技术都是基于对象的,它们使用一些封装好的对象,调用对象的方法,设置对象的属性。但是它们无法让程序员派生新对象类型。他们只能使 用现有对象的方法和属性。所以当你判断一个新的技术是否是面向对象的时候,通常可以使用后两个特性来加以判断。“面向对象”和“基于对象”都实现了“封装”的概念,但是面向对象实现了“继承和多态”,而“基于对象”没有实现这些。
作者: 袁野    时间: 2012-3-24 18:55
java 把事物都总结出一个类 然后对这个类操作 里面的成员, javascript 专门语言不是单独存在的,需要求他的语言一起使用。 可以算是嵌入性的把,我的理解
作者: 袁野    时间: 2012-3-24 18:56
java 把事物都总结出一个类 然后对这个类操作 里面的成员, javascript 专门语言不是单独存在的,需要求他的语言一起使用。 可以算是嵌入性的把,我的理解
作者: 江远云    时间: 2012-3-24 21:26
区别:
先说面向对象的三个基本特征:封装,继承,多态 。
基于对象就只是没有继承,没有了继承的也就无从谈论“多态”了。
面向对象”和“基于对象”都实现了“封装”的概念,但是面向对象实现了“继承和多态”,而“基于对象”却没有继承和多态
基于对象只对对象进行操作,不能利用它生成新的对象类型。
java和语言有关,javascript和编程有关,如果java允许你使用继承,但是你偏不用,那也只能算基于对象编程了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2