一、面向对象四大特性
1、封装
定义:隐藏信息或者保护数据访问
方法:利用public,protect,private关键词限制。
意义:数据不被随意修改;仅暴露有限必要接口
2、抽象
定义:隐藏方法实现
方法:利用接口类,抽象类,函数
意义:让调用者只关注功能点不关注实现;修改实现不需要改变定义,减少代码的改动范围
3、继承
定义:类之间的is-a关系
方法:利用extends关键词实现继承
优点:代码复用——相同部分抽取到父类,子类复用
缺点:过度使用继承,导致继承层次过深过复杂,影响代码可读性和可维护性,因为查看这个类的代码需要按照继承关系一层层地往上查看父类代码。
解决缺点方法:多用组合少用继承,实现代码复用。
4、多态
定义:多态指同一个接口,使用不同的实例而执行不同操作,也就是父类中定义的属性和方法被子类继承之后,表现出不同的行为。
方法:利用继承和接口实现多态
意义:可扩展性和复用性,是很多设计模式,设计原则,编程技巧的代码实现基础。
二、面向对象和面向过程编程对比
1、面向对象编程(OOP:object-oriented programming)
定义:以类作为组织代码的基本单元,将封装,抽象,继承,多态四个特性,作为代码设计和实现的基石。
方法:数据结构和方法被绑定在类里。类里面除了成员变量,还有这个类处理对应业务逻辑的方法(数据和业务逻辑方法相结合)
2、面向过程编程(POP:procedure-oriented programming)
定义:以方法作为组织代码的基本单元,以数据(成员变量)和方法相分离为特点,通过拼接一组顺序执行方法来操作数据完成一项功能。
方法:数据结构和业务逻辑方法隔离(数据和业务逻辑方法隔离)

本文探讨了面向对象编程的四大特性——封装、抽象、继承和多态,并与面向过程编程进行了对比。面向对象编程在处理大规模复杂项目时更具优势,能够提高代码的复用性、可扩展性和可维护性。同时,文章指出了一些在面向对象编程中常见的错误实践,如滥用getter/setter、全局变量和全局方法,以及数据和方法分离的类。最后,讨论了面向对象和面向过程编程的不同应用场景。

1437

被折叠的 条评论
为什么被折叠?



