C# 编程指南:继承关系和继承语法

在C#中,继承是面向对象编程的核心概念之一,它允许一个类从另一个类获取成员变量、方法和属性,并且可以在此基础上添加、修改或扩展功能。

部分
1
继承关系
继承(Inheritance)是指一个类(称为子类或派生类)从另一个类(称为父类或基类)继承成员变量、方法和属性的过程。
子类可以使用父类的成员,并且可以在此基础上添加新的成员或覆盖(重写)父类的成员。
继承关系可以形成类的层次结构,子类可以继承父类的特性并形成更具体的类。
// 父类
public class Animal
{
    public string Name { get; set; }

    public void Eat()
    {
        Console.WriteLine("The animal is eating.");
    }
}

// 子类继承父类
public class Dog : Animal
{
    public void Bark()
    {
        Console.WriteLine("The dog is barking.");
    }
}

// 使用继承关系创建对象
Dog dog = new Dog();
dog.Name = "Buddy";
dog.Eat(); // 调用父类的方法
dog.Bark(); // 调用子类的方法
部分
2
继承语法
在C#中,使用冒号(:)来表示继承关系,并指定父类的名称。
子类可以继承一个父类,也可以实现多重继承,即继承多个接口。
// 单一继承
public class ChildClass : ParentClass
{
    // 子类的成员
}

// 多重继承
public class ChildClass : ParentClass, Interface1, Interface2
{
    // 子类的成员
}
部分
3
方法的重写(Override)
子类可以重写父类的方法,即在子类中定义与父类方法名称、参数和返回类型相同的方法。
通过重写方法,子类可以修改父类方法的实现或添加自己的逻辑。
// 父类
public class Shape
{
    public virtual double CalculateArea()
    {
        // 父类的默认实现
        return 0;
    }
}

// 子类重写父类方法
public class Circle : Shape
{
    public double Radius { get; set; }

    public override double CalculateArea()
    {
        return Math.PI * Radius * Radius;
    }
}

// 使用重写的方法
Circle circle = new Circle();
circle.Radius = 5.0;
double area = circle.CalculateArea(); // 调用子类重写的方法
部分
4
基类的构造函数
子类在实例化时,会先调用父类的构造函数进行初始化。
子类可以通过 base 关键字调用父类的构造函数。
// 父类
public class Animal
{
    public string Name { get; set; }

    public Animal(string name)
    {
        Name = name;
    }
}

// 子类调用父类的构造函数
public class Dog : Animal
{
    public Dog(string name) : base(name)
    {
        // 子类的其他逻辑
    }
}

// 使用子类实例化对象
Dog dog = new Dog("Buddy");
    目录

  • 1.
    继承关系
  • 2.
    继承语法
  • 3.
    方法的重写(Override)
  • 4.
    基类的构造函数