🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## OOP思想,特征和其意义 抽象、封装、继承和多态是面向对象的基础。 **抽象**:**提取关键特性,构建模型的过程**。同一事物不同需求下,需要提取的特性可能不一样。得到的抽象模型中一般包含:属性(数据)和操作(行为)。这个抽象模型我们称之为类。对类进行实例化得到对象。 **封装**:封装可以**使类具有独立性和隔离性**;保证类的高内聚。只暴露给类外部或者子类必须的属性和操作。类封装的实现依赖类的修饰符(public、protected和private等) **继承**:对**现有类的复用机制**。一个类如果继承现有的类,则这个类将拥有被继承类的所有非私有特性(属性和操作)。这里指的继承包含:类的继承和接口的实现。 **多态**:**多态是在继承的基础上实现的**。多态的三个要素:继承、重写和父类引用指向子类对象。**父类引用指向不同的子类对象时,调用相同的方法,呈现出不同的行为**;就是类多态特性。多态可以分成编译时多态和运行时多态。 帮助理解:[https://www.cnblogs.com/waj6511988/p/6974291.html](https://www.cnblogs.com/waj6511988/p/6974291.html) ## OOP的七大设计原则是什么? * **开闭**原则:**对扩展开放,对修改关闭** * **里氏替换**原则:**继承 必须保证 父类中的性质在子类中仍然成立** * **依赖倒置**原则:**面向接口编程,而不面向实现类** * **单一职责**原则:控制 类的 粒度的大小 ,增**强内聚性,减少耦合** * **接口隔离**原则:**要为各个类提供**所需的**专用接口** * **迪米特**法则:迪米特法则(Law of Demeter)又叫作**最少知识原则**(The Least Knowledge Principle),**一个类对于其他类知道的越少越好**,就是说**一个对象应当对其他对象有尽可能少的了解**,只和朋友通信,不和陌生人说话。英文简写为: LOD。 * **合成复用**原则:尽可能**使用组合或者聚合等关系来关联类**,**其次才考虑使用继承**。 前五个合称 SOLID原则(单一职责原则、开放关闭原则、里氏替换原则、接口隔离原则和依赖倒置原则)