面向对象思想

面向对象思想与面向过程思想的区别:

观点:

  1. 面向过程:自己造电脑;
  2. 面向对象:自己组装电脑;

面向过程是一件事“该怎么做“,按一系列步骤来完成;
面向对象是一件事“该让谁来做”,那个“谁”就是对象;将所有步骤(功能)分配给一个个对象,最后由这些对象共同完成这件事;

举例:如何将大象装进冰箱

面向过程:

1、冰箱门打开
2、大象装进去
3、冰箱门关上

面向对象:

1、对象冰箱开门
2、冰箱装进(传入大象)
3、冰箱关门

面向过程
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展

面向对象

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点:性能比面向过程低

封装、继承、多态,提高了系统的灵活性与健壮性;
面向对象的中的属性和方法的可访问性提高了程序的安全性,数据调取的多样性.

其中封装性指的是隐藏了对象的属性和实现细节,仅对外提供公共的访问方式(属性私有化,行为公开化),这样就隔离了具体的变化,提高了数据的隐秘性、安全性的同时,使代码模块化,提高了复用性

继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类–有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了已存在的代码块,进一步提高了代码的复用性

多态是说父类或接口的引用指向了子类对象,这就提高了程序的扩展性,也就是说只要实现或继承了同一个接口或类,那么就可以使用父类中相应的方法,提高程序扩展性
使得不同的类所产生的对象能够对相同的消息作出不同的反应,极大地提高了代码的通用性.

如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。多态的一大作用就是为了解耦–为了解除父子类继承的耦合度。如果说继承中父子类的关系式IS-A的关系,那么接口和实现类之之间的关系式HAS-A。简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。

如果说封装和继承是面向对象的基础,那么多态则是面向对象最精髓的理论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值