C# 的 抽象函数,虚函数,接口,有点晕,
答案:3 悬赏:60 手机版
解决时间 2021-08-15 12:41
- 提问者网友:沉默菋噵
- 2021-08-15 00:45
梳理下
最佳答案
- 五星知识达人网友:西岸风
- 2021-08-15 01:12
抽象方法: 用abstract关键字修饰,不允许有方法体,必须被子类override,抽象方法只能在抽象类中
虚方法:用virtual修饰,要有方法体,哪怕里面什么也没有。可以被子类override,除了密封类之外都可以有虚方法。
接口:用interface修饰,接口中定义的方法也不能有方法体,实现接口的类必须实现接口中定义的所有方法
全部回答
- 1楼网友:渊鱼
- 2021-08-15 03:23
去MSDN查查吧,那里最权威
- 2楼网友:老鼠爱大米
- 2021-08-15 02:37
简单的理解,虚函数可以被重载,基类中有实现。
纯虚函数只能被重载,基类中只有定义没有实现。
只要就是多态的概念,父类指针指向子类对象的时候,会执行子类中的方法。
比如一个动物类,和一个人类
人继承于动物 动物是基类,里面有一个死亡方法,基类有自己的实现
人类里重载了基类里的死亡方法
之后你写
People p = new People();
然后一个方法要一个动物作为参数
比如杀死某个动物
kill(p) 注意kill要的是animal对象
p是People的对象,不过因为p继承与animal 所以可以传入
kill方法里比如要调用对象的 dead()方法
那么这个时候 kill方法里调用的就是People的dead()方法 而不是animal的
接口的成员函数全部都是都是纯虚函数.
抽象函数和纯虚函数是一个概念 就是基类没有实现 交给子类去实现
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯