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 分辨出是猫 还是 狗

posted @ 2022-05-19 16:26  匿鱼  阅读(20)  评论(0编辑  收藏  举报