SOLTD原则

  • 单一职责原则(Single Responsibility Principle, SRP): 一个类应该只负责一项职责。

  • 开放封闭原则(Open/Closed Principle, OCP): 软件实体(类、模块、函数等)应该是可扩展的,但是不可修改的。

  • 里氏替换原则(Liskov Substitution Principle, LSP): 子类型必须能够替换它们的基类型。

  • 接口隔离原则(Interface Segregation Principle, ISP): 客户不应该被强迫依赖于它们不使用的方法。

  • 依赖倒置原则(Dependency Inversion Principle, DIP): 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。

面向对象的三大特征

面向对象编程(Object-Oriented Programming,OOP)的三大核心特征包括:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。

1. 封装(Encapsulation)

封装是面向对象编程的一个基本原则,它的主要目的是隐藏对象的内部状态和实现细节,只暴露有限的接口供外部访问。这样做的好处是提高代码的安全性和可维护性,因为内部数据被保护起来,防止被不恰当地访问或修改。

封装的关键点

  • 使用访问修饰符(如public, private, protected等)来控制对类成员(属性和方法)的访问级别。

  • 使用getter和setter方法来访问和修改类的私有属性。

  • 使用构造函数初始化对象的状态。

2. 继承(Inheritance)

继承允许一个类(子类)继承另一个类(父类)的属性和方法。这种机制支持代码重用和层次化的分类结构。继承可以减少重复代码并使得代码更容易管理和扩展。

继承的关键点

  • 子类可以继承父类的所有非私有的成员变量和方法。

  • 子类可以覆盖(override)父类的方法来提供新的实现。

  • 子类也可以添加自己的新属性和方法。

3. 多态(Polymorphism)

多态是指允许不同类的对象对同一消息作出响应的能力。简单来说,就是让不同的对象可以使用相同的接口,但实现不同的行为。多态通常通过方法重载(overloading)和方法覆盖(overriding)来实现。

多态的关键点

  • 方法重载(overloading):在同一类中定义同名但参数列表不同的多个方法。

  • 方法覆盖(overriding):子类重写父类的方法,提供新的实现。

  • 接口实现:一个类实现一个接口,必须实现接口中的所有抽象方法。