你的分析角度不对,这两个完全是两个不同的东西,一个是函数,一个是类,怎么会一样呢。如果你只是从重载的角度来看,是的,我们都重载。但是一个是以函数为出发点来重载,一个是以类为出发点来重载。 虚函数,存在于一个具体的类中,它在这个类中有实体(也就是具体的实现),当你觉得这个已经存在的实体是你想要的的时候,你会想在子类中去重载它,你只是重载了这个函数,对这个类和类的其他方面不会有任何影响。 抽象类本身就是一个类,它包含所有的函数体都是没有实体的,而他自己也无法实例化,因为不能实例化,所以它常常用来提取多个物体的公共方法和属性,比如人,不管是男人、女人、老人还是小孩,都有年龄、身高、体重等信息,都会有吃饭、走路等动作。但是这些可能都不相同,你可以用抽象类将它们抽象出来,但不实现具体内容,然后在子类中(男人、女人、老人还是小孩)将整个类的方法根据需要进行重载。
[quote=引用 1 楼 娃都会打酱油了的回复:]virtual虚函数,本身有具体实现,但可以在子类进行重载 abstract抽象,本身无具体实现,子类必须实现该方法
virtual虚函数,本身有具体实现,但可以在子类进行重载 abstract抽象,本身无具体实现,子类必须实现该方法
110,534
社区成员
642,575
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧