C#_抽象
1、关于什么是抽象?
2、为什么要抽象?
比如说 你要杀死一个动物 KillAnimal() 这个方法
如果没有抽象类 你是不是要创建 类似于
KillAnimal(Cat cat) 杀死猫
KillAnimal(Dog dog) 杀死狗
然后把所有的动物列举出来。
但是用了抽象方法
Animal
Cat:Animal
Dog:Animal
你只需要创建一个方法
KillAnimal(Animal animal)
{
if(animal is Cat)
{//杀死猫}
else if(animal is Dog)
{//杀死狗}
}
甚至可以不关心以后还有啥动物加入进来。
对于程序来说 我只是杀死动物 完成了我的任务 至于杀死什么动物,这个我不关心。
在方法内部可以再拆箱。就是把 Animal 分辨出是猫 还是 狗