第12章 - 继承
嗨,朋友!我是长安。
继承是面向对象的三大特性之一,它让我们可以基于现有类创建新类,实现代码复用。
🎯 什么是继承?
继承让子类可以获得父类的属性和方法。
// 父类(基类)
class Animal
{
public string Name { get; set; }
public void Eat()
{
Console.WriteLine($"{Name}在吃东西");
}
}
// 子类(派生类)继承 Animal
class Dog : Animal
{
public void Bark()
{
Console.WriteLine($"{Name}在叫:汪汪汪!");
}
}
class Cat : Animal
{
public void Meow()
{
Console.WriteLine($"{Name}在叫:喵喵喵!");
}
}
// 使用
Dog dog = new Dog();
dog.Name = "旺财";
dog.Eat(); // 继承自 Animal
dog.Bark(); // Dog 自己的方法
Cat cat = new Cat();
cat.Name = "咪咪";
cat.Eat(); // 继承自 Animal
cat.Meow(); // Cat 自己的方法
🔄 方法重写(Override)
class Animal
{
public virtual void MakeSound() // virtual 允许被重写
{
Console.WriteLine("动物发出声音");
}
}
class Dog : Animal
{
public override void MakeSound() // override 重写父类方法
{
Console.WriteLine("汪汪汪!");
}
}
class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("喵喵喵!");
}
}
📝 本章小结
- 使用
:实现继承 - 子类继承父类的属性和方法
virtual和override实现方法重写base关键字调用父类成员- C# 只支持单继承
