面向对象这个东西似乎一直没有人给出一个很好的解释,网上找了把,还是觉得不够满意,但是记录一些内容如下:
面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法。面向对象设计强调了设计中采用了封装、继承、抽象的手法。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的实体等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
面向对象的崛起是因为它充分解决了原有开发模式下的一些弊端。
常说起的如下:
软件重用性差
可维护性差
修改的周期长
面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现
接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题。它最大的好处是耦合性低,如果程序中的各个组件以接口而非具体的类相互衔接,那么对组件进行替换就轻而易举。同时它使测试变得灵活。但是实际上对于我们来说它的好处是可以简化初期设计,只需勾勒出大致的接口就可以开发,然后随着开发深入,补充内容或添加接口。