What
定义
面向对象程序是一种软件开发方法,对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。
特征
面向对象三大特征:封装,继承,多态。封装实现解耦,继承实现复用,多态将可扩展性和可维护性增强。
封装
定义:把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
好处:
- 减少耦合
- 类内部的实现可自由修改
- 类具有清晰对外接口
继承
定义:子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为
好处:
- 提高了代码复用性
- 提高了代码维护性
- 让类与类之间产生了关系,是多态的前提
why
请参考此文章:五分钟理解什么是面向对象
疑问:
面向过程和面向对象的区别在哪呢,到底面向对象比面向过程好在哪了。
最近和小伙伴聊的时候,小伙伴问了这么一个问题?为什么叫面向对象,不是叫面向类?小伙伴说了这么句话:面向对象的四大特性体现的是抽象,封装,继承,多态。抽象是对对象抽象成类了,封装也是把对象封装到类了,继承是类层面的,多态也是在类层面的…听了这些话我更加疑惑了,这不应该叫面向类么,到目前为止,我还没搞清楚,我会继续和小伙伴们讨论,另外下篇博客我会对以上问题深入进行讨论。