C#面向对象核心:类继承详解
类继承是什么?
继承是面向对象编程的三大特性之一,允许新类(派生类)基于已有类(基类)进行扩展。通过继承,派生类可以“免费”获得基类的字段、方法等成员,并添加自身独有的功能。
基类 vs 派生类
基类(Base Class)
已存在的类,提供基础功能。
class SomeClass {public string Field1 = "Base field";public void Method1(string value) {Console.WriteLine($"Base Method1: {value}");}
}
派生类(Derived Class)
通过冒号语法继承基类,可添加新成员,但不能删除继承的成员。
class OtherClass : SomeClass {public string Field2 = "Derived field";public void Method2(string value) {Console.WriteLine($"Derived Method2: {value}");}
}
继承的成员如何访问?
派生类实例可无缝访问基类成员,如同它们是自己的成员:
OtherClass oc = new OtherClass();
oc.Method1(oc.Field1); // 调用基类方法,使用基类字段
oc.Method2(oc.Field2); // 调用派生类方法,使用派生类字段
输出结果:
Base Method1: Base field
Base Method1: Derived field
Derived Method2: Base field
Derived Method2: Derived field
继承的核心优势
- 代码复用:避免重复编写基类已有代码。
- 扩展性:通过新增成员定制派生类的独特行为。
- 多态基础:为后续方法重写(override)提供支持。
关键注意事项
- 成员可见性:基类成员需为public或protected才能在派生类中访问。
- 构造函数:派生类必须调用基类构造函数(通过base关键字)。
- 不可逆性:派生类无法删除基类的任何成员,但可通过new关键字隐藏(后续文章详解)。
🚀 动手实践
尝试创建一个Animal基类(含Eat()方法),再派生出Dog类(新增Bark()方法),体验继承的魔力吧!