C# 关于abstract 抽象类&抽象方法实现多态,提高程序可扩展性
1.main方法调用代码块
static void Main(string[] args)
{
//动物Animal,都有吃Eat()和叫Bark(),狗和猫吃、叫的方法不一样,父类中没有默认的实现,所以考虑用抽象方法
Animal dog = new Dog();
dog.Bark();
dog.Eat();
Animal cat = new Cat();
cat.Bark();
cat.Eat();
Console.ReadKey();
}
2.抽象类&抽象方法代码块
//抽象成员必须在抽象类中
//抽象类不能用来实例化
public abstract class Animal //抽象类
{
public abstract void Eat(); //抽象方法(抽象成员)不能有实现
public abstract void Bark();
//1.抽象类成员可抽象可实例
public int Age { get; set; }
public void Shout()
{
Console.WriteLine("路见不平一声吼啊...");
}
}
3.继承抽象类重写抽象方法代码块
public class Dog : Animal
{
public override void Bark() //重写方法
{
Console.WriteLine("汪汪!!!");
}
public override void Eat()
{
Console.WriteLine("狗吃骨头");
}
}
public class Cat : Animal
{
public override void Bark()
{
Console.WriteLine("喵喵!!");
}
public override void Eat()
{
Console.WriteLine("猫吃鱼");
}
}
源码链接:https://pan.baidu.com/s/1DLd_F1ZnpkahVUzlhi6azA
提取码:de7a