永发信息网

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的

接口的成员函数全部都是都是纯虚函数.

抽象函数和纯虚函数是一个概念 就是基类没有实现 交给子类去实现

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯