在C#中,类继承是一种重要的面向对象编程概念,允许一个类(子类)基于另一个类(父类)来定义新的类。以下是一个简单的示例和使用注意事项:
示例
// 基类(父类)
public class Animal
{
public string Name { get; set; }
public void PrintName()
{
Console.WriteLine($"Animal's name is {Name}");
}
}
// 派生类(子类)
public class Dog : Animal
{
public void Bark()
{
Console.WriteLine("Woof!");
}
}
在这个例子中,Dog类继承自Animal类。Dog类从Animal类继承了Name属性和PrintName方法,并且添加了自己的Bark方法。
使用注意事项
单继承:C#不支持多重继承,一个类只能直接继承自一个基类。例如,
Dog类只能继承自Animal类,不能同时继承自其他类。访问修饰符:派生类可以访问其基类的
protected和public成员,但不能访问基类的private成员。例如,Dog类可以访问Animal类中的Name属性和PrintName方法。方法重写:派生类可以重写(override)其基类的虚方法或抽象方法,以实现特定于派生类的行为。
public class Animal { public virtual void MakeSound() { Console.WriteLine("Animal makes a sound"); } } public class Dog : Animal { public override void MakeSound() { Console.WriteLine("Dog barks"); } }构造函数:派生类可以调用其基类的构造函数,通过使用
base关键字。public class Animal { public Animal(string name) { Name = name; } } public class Dog : Animal { public Dog(string name) : base(name) { // 可以在这里初始化Dog类特有的属性 } }sealed类和方法:使用
sealed关键字可以防止其他类继承自该类,或者防止派生类重写方法。public sealed class SealedClass { // 类体 } public class DerivedClass // 错误:无法从sealed类'DerivedClass'派生 { // 类体 }