C#中面向对象编程机制之多态学习笔记
2021-07-20 18:24
C#的多态性:
我的理解是:同一个操作,作用于不同的对象时,会有不同的结果,即同一个方法根据需要,作用于不同的对象时,会有不同的实现。
C#的多态包括:接口多态,继承多态。
其中继承多态又包括通过虚拟方法实现的多态和通过抽象方法实现的多态性
例如:基类动物都有吃的方法,但是不同的动物吃的东西就会不一样,例如狼吃肉,羊吃草,这样“吃”的这个方法就要在派生类里面重新实现以下,运行时,通过指向基类的指针,来调用实现派生类中的方法。
接下来举例实现多态性。
1. 接口多态性
把动物“吃”的方法放到一个接口(IAnimal)里,然后让具体的动物类(Wolf/Sheep)继承这个接口,并根据自己的需要实现这个接口。
代码实现:
代码如下:
class Program {
static void Main(string[] args) {
new Wolf().Eat();
new Sheep().Eat();
}
}
public class Wolf : IAnimal {
//多态实现
public void Eat() {
Console.WriteLine(“狼吃肉!”);
}
}
public class Sheep : IAnimal {
//多态实现
public void Eat() {
Console.WriteLine(“羊吃草!”);
}
}
//接口
public interface IAnimal {
void Eat();
}
C#中面向对象编程机制之多态学习笔记
本文地址: http://www.paobuke.com/develop/c-develop/pbk23185.html