在C#中,继承是面向对象编程的核心概念之一,它允许一个类从另一个类获取成员变量、方法和属性,并且可以在此基础上添加、修改或扩展功能。
// 父类
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(); // 调用子类的方法
// 单一继承
public class ChildClass : ParentClass
{
// 子类的成员
}
// 多重继承
public class ChildClass : ParentClass, Interface1, Interface2
{
// 子类的成员
}
// 父类
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(); // 调用子类重写的方法
// 父类
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");