请教面向对象与基于对象的区别

wendaoshuangyue 2009-05-31 10:55:58
“面向对象的特征基本就是:封装,继承,多态
基于对象就只是没有继承。
基于对象就是只能对对象进行操作,不能利用它生成新的对象类型。
一个和语言有关,另一个和编程有关,如果语言允许你使用继承,但是你偏不用,那也只能算基于对象编程了。 ”


查了很多二者的区别,对于基于对象,典型的就是JavaScript,但是JavaScript貌似也能支持继承的啊,实在弄不明白,请教高手给解释一下!!
...全文
221 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZangXT 2009-06-01
  • 打赏
  • 举报
回复
.net之前的vb是基于对象的
knightzhuwei 2009-06-01
  • 打赏
  • 举报
回复
参考http://www.cnblogs.com/hxmhj/archive/2009/03/06/1404875.html

面向对象这种编程方法,已经成为当今的主要开发方式。



可是,观察当今大多数的项目,都只是用面向对象的语言,来做基于对象的开发。这种说法,虽然会引起大多数人的抵触,但这确实是业界的一种看法!



面向对象设计是针对面向过程设计,而发展起来的一种先进的编程思想。面向对象是将什么东西都看做对象,它们即相关又独立。这是与面向过程的重大区别之一!面向过程只相关不独立。由于不独立,人们只能按照一定的逻辑顺序来做程序。



面向对象的特性是:封装、继承、多态



注意:由于没有用到这三个特性,所以说多数开发都是基于对象!



封装:

多数的开发人员肯定说,我用到了封装。但是请大家想一想,访问修饰符中 public 是不是被滥用了?不分青红皂白,不分层次用上就好。为什么?因为它最方便、最省事、最不会冲突!安全吗?那不是我的事。这就好象很多的大门都挂了锁,但都没有锁上。您想这和没用有什么区别?



继承:

继承可以提高代码的复用率,可以设计出清晰、稳定、易于扩展并且容易维护的软件。那么目前,多数项目中,都是用一些现成的对象(控件),编写一些代码就可以运行了。即便用了少量的继承,如继承某些控件,添加了一些功能,但这也只是技巧性的,没有从整个架构上来进行设计。



例如,我们在一些项目中,经常会抽象出一些常用的功能,编写成常用的模块。如果将其先标准化,使其在相关类中继承,然后扩展其功能,就可以大大地加快开发速度,也便于维护。说到此,我想会引起真正做过项目朋友的心动。这才是继承的精髓之所在!



换个角度说,确实也很难进行量化的认定。就象常说的高手与新手,怎么划线?我们只能是在继承的思维模式下,通过不断的实践与积累,使继承这个特性得到充分的发挥!



多态:

多态源于继承(类或接口),可以增加编程的弹性。主要是用在类中某些不确定的对象上,可以简化代码。但是,如果您没有用到继承,也就谈不上多态了。



这是本人来自实践中的感悟,并非完全来自教课书,所以言之为“大话”。专业人士可当作奇文来欣赏!

  • 打赏
  • 举报
回复
Google一下
blazingfire 2009-05-31
  • 打赏
  • 举报
回复
面向对象、基于对象你说的差不多都对了。

javascript在语言层面上是没有继承机制的;但继承方面特性可以通过编写一些特定的js代码达到;

不过这样作法可读性不是很好。
sachmx1234 2009-05-31
  • 打赏
  • 举报
回复
不晓得

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧