继承 (Inheritance) 是面向对象编程 (OOP) 中,允许一个类(子类/派生类)获取另一个类(父类/基类)的属性和方法的机制。它支持代码重用并建立类之间的层级关系。
核心直觉
“Is-a” Relationship (是一个…)
继承表达的是一种分类学上的从属关系:
- 猫 (Cat) 是一个 动物 (Animal)。
- 跑车 (SportsCar) 是一个 汽车 (Car)。
子类自动拥有父类的所有特征(如“动物”会呼吸),同时可以拥有自己的特殊特征(“猫”会抓老鼠)。这避免了在每个子类中重复编写相同的通用代码。
关键概念
- Code Reuse (代码重用): 将通用逻辑(如
move())放在父类,所有子类自动获得,无需复制粘贴。 - Overriding (重写): 子类可以修改父类的默认行为(如“鸟”和“鱼”虽然都是“动物”,但
move()的方式不同:飞 vs 游)。 - Hierarchy (层级): 建立从一般到特殊的抽象层级,是多态的基础。