面向对象编程

来自泡泡学习笔记
BrainBs讨论 | 贡献2023年12月19日 (二) 09:43的版本 (创建页面,内容为“ 面向对象编程,是一种程序设计范式,也是一种编程语言的分类。它以对象作为程序的基本单元,将算法和数据封装其中,程序可以访问和修改对象关联的数据。在面向对象编程中,我们可以操作对象,而不需要关心对象的内部结构和实现。 <br> 面向对象编程的主要组成部分是类和对象。类是一组具有相同属性和功能的对象的抽象。而对象则是类的…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

面向对象编程,是一种程序设计范式,也是一种编程语言的分类。它以对象作为程序的基本单元,将算法和数据封装其中,程序可以访问和修改对象关联的数据。在面向对象编程中,我们可以操作对象,而不需要关心对象的内部结构和实现。


面向对象编程的主要组成部分是类和对象。类是一组具有相同属性和功能的对象的抽象。而对象则是类的实例。


特性

面向对象编程有三大特性,封装、继承和多态。


封装

封装是把客观事物封装成抽象的类,并隐藏实现细节,使得代码模块化。


继承

继承是面向对象编程的另一个重要特性,它提供了一种无需重新编写,使用现有类的所有功能并进行扩展的能力。


多态

多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。


理念

面向对象编程有两个主要的理念,基于接口编程和组合优于继承。


基于接口编程

基于接口编程的理念是,使用者不需要知道数据类型、结构和算法的细节,只需要知道调用接口能够实现功能。


组合优于继承

尽管继承可以使我们更容易地重用和扩展代码,但是如果继承层次过深、继承关系过于复杂,就会严重影响代码的可读性和可维护性。因此,我们更倾向于使用组合而不是继承。


原则

面向对象编程有五个基本原则,也被称为SOLID原则。


单一原则

单一原则是指一个类应该仅具有只与他职责相关的东西,这样可以降低类的复杂度,提高可读性和可维护性。


开闭原则

开闭原则是指软件中的类、属性和函数对扩展是开放的,对修改是封闭的。这样可以避免对原有代码的修改导致的很多工程工作。


里氏替换原则

里氏替换原则是指子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。这样可以让高层次模块能够依赖抽象类,而不是具体的实现。


接口隔离原则

接口隔离原则是指类间的依赖关系应该建立在最小的接口之上,这样可以减少类间的耦合度。


依赖反转原则

依赖反转原则是指高层次模块不应该依赖于低层次模块的具体实现,两者都应该依赖其抽象。这样可以提高代码的可扩展性。