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
相关内容
关于C#中ajax跨域访问问题
浅谈C#网络编程详解篇
详细解析C#多线程同步事件及等待句柄
winform分页控件 附源码下载
理解C#生成验证码的过程
C#装箱和拆箱原理详解
C#实现图形路径变换的方法
C#操作CSV文件类实例