形象的描述多态,以及什么时候使用抽象类、虚方法、接口。
什么时候用虚方法来实现多态
什么时候用抽象类来实现多态
什么时候用接口来实现多态
抽象类就是 在提供的几个类当中能抽象出一个父类 并且父类当中能写出这些子类共有的方法 还不知道如何去写这个方法 就用抽象类
反之 抽象出来的方法可以写 我还需要创建一个父类对象就用虚方法
接口就是 这几个类根本找不出一个父类 但是都有一个共同的功能 就像鸟和飞机 都会飞但是没有父类
真鸭子会游泳 木头鸭子不会游泳 橡皮鸭子会游泳 用多态来做
分析 看见会干什么能干什么 侧重的是一个能力 就用接口来做
可以把真鸭子作为父类 但是不能写游泳的函数 因为木鸭子不会
不能写一个抽象方法因为真鸭子需要写一个创建对象 真鸭子有意义 人就是会游泳不能抽象 虚方法也不行 因为木鸭子不会游泳
所以只能用接口来实现
ISwimable Swim = new XiangpiDuck();//new RealDuck();
Swim.Swim();
Console.ReadKey();
public class RealDuck : ISwimable
{
public void Swim()
{
Console.WriteLine("真鸭子会游泳");
}
}
public class MuDuck /*: ISwimable*/ // 木鸭子不会游泳就不用继承接口
{
//public void Swim()
//{
// Console.WriteLine("木头鸭子不会游泳");
//}
}
public class XiangpiDuck : ISwimable
{
public void Swim()
{
Console.WriteLine("橡皮鸭子会游泳");
}
}
public interface ISwimable
{
void Swim();
}
转载请注明原文地址:https://blackberry.8miu.com/read-17797.html