C#中什么是继承与多态,用代码演示
时间: 2024-10-14 14:09:42 浏览: 19
c#继承与多态使用示例
在C#中,继承是一种面向对象的设计模式,它允许创建新类(称为派生类或子类)基于已存在的类(称为基类或父类)。子类会自动获取父类的所有属性和方法,并可以添加或修改其特性。这是通过关键字`:`来声明继承的:
```csharp
public class Animal // 基类
{
public string Name { get; set; }
public void Eat() => Console.WriteLine("Animal is eating.");
}
public class Dog : Animal // 派生类,继承自Animal
{
public override void Eat() => Console.WriteLine("Dog is eating.");
}
```
在这个例子中,`Dog`类继承了`Animal`类,意味着它可以访问`Name`属性和`Eat`方法。但是当我们对`Eat`方法进行`override`操作时,子类提供的实现会覆盖父类的默认行为。
多态则是上述继承机制的应用,它允许我们使用基类类型的引用或接口来操作子类实例。例如:
```csharp
Animal animal = new Animal(); // 创建动物实例
animal.Name = "Dog"; // 设置名称
animal.Eat(); // 输出 "Animal is eating."
Animal dog = new Dog(); // 现实上创建狗实例
dog.Name = "Fido";
dog.Eat(); // 输出 "Dog is eating."
```
这里,虽然变量`animal`是指向`Animal`类型的,但我们可以通过它调用`Dog`类特有的`Eat`方法实现,这就是多态性的体现。
阅读全文