1. 继承机制深度解析
在C#面向对象编程中,继承是代码复用的核心机制。通过继承,子类可以自动获得父类的所有非私有成员(字段、属性、方法等),同时还能添加自己特有的成员或修改继承来的行为。
1.1 基础继承语法
典型的继承声明如下:
csharp复制public class ParentClass
{
// 父类成员
}
public class ChildClass : ParentClass
{
// 子类特有成员
}
这种单继承结构(C#不支持多继承)形成了清晰的类层次关系。在实际项目中,我们常用继承来表达"is-a"关系,比如"储蓄账户是一种银行账户"。
1.2 访问修饰符的影响
继承时成员的可见性由访问修饰符决定:
public:完全公开protected:仅对子类可见private:仅当前类可见internal:同一程序集内可见
特别要注意的是,构造方法不会被继承。子类必须通过: base()语法显式调用父类构造方法:
csharp复制public class ChildClass : ParentClass
{
public ChildClass(int param) : base(param)
{
// 子类初始化
}
}
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 方法重写技术详解
方法重写是面向对象多态性的关键实现方式,允许子类改变继承自父类的方法行为。
2.1 virtual与override关键字
标准重写模式需要三个要素:
- 父类方法声明为
virtual - 子类方法使用
override标记 - 方法签名完全一致
csharp复制public class Shape
{
public virtual void Draw()
{
Console.WriteLine("绘制基本图形");
}
}
public class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("绘制圆形");
base.Dra
