why is Object-oriented superior to Structure-oriented ?

面向对象为何比面向结构好?

 

此问题一直是考试和面试的焦点。我个人的理解,总结好处主要是两方面。

 

随着软件项目的客户逐步进入到世界各地中小企业甚至是个人的市场中,对于软件开发项目团队来说,软件的可阅读性、可维护性,甚至二次开发都是日常的工作了,从开发到投产使用,当客户的需求变动,那么软件程序就要修改。

对于一个软件公司来说,能否用最少的花销去满足客户,去适应客户不定期的需求变更,是生死存亡的事情。

 

下面进入本文章的重点,面向对象比较优越的两个方面:

 

一,面向对象还是比面向结构,在对象管理,内存管理上来看,从无到有,或者是进化了。一个对象实例,是带有状态的。内存以虚拟列表的形式管理着它的操作数。不同的对象可以有不同的状态,可以接受其它对象发来的消息。

 

二,对象可以是一个操作数,也可以大到一个系统。对象是一个可以被高度抽象的,携带方法集合的容器。可以说,是对代码“高内聚”的追随。这样,软件开发的重复度得以延伸,以往面向过程往往需要维护很多函数集合,而维护和设计一个对象则更有针对性,方法甚至都是可以重载的。

 

总结一,二点,作为结尾:面向对象的内存管理更加高级,对象可以代替堆栈等外界环境,而内部维护着状态,并且集成了析构函数等自动操纵内存。并且呢,对象高度抽象了世界,有血肉的类型更容易进行重复使用和系统集成。

 

阅读更多
文章标签: 面试 工作
个人分类: Code街区
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭