C#下 子类继承父类的虚方法后 使用override重写父类方法 和 不使用override重写有什么区别?
答案:3 悬赏:0 手机版
解决时间 2021-03-05 15:04
- 提问者网友:谁的错
- 2021-03-04 17:08
C#下 子类继承父类的虚方法后 使用override重写父类方法 和 不使用override重写有什么区别?
最佳答案
- 五星知识达人网友:鱼芗
- 2021-03-04 17:15
首先不适用zhidaooverride就是用new,两个都不用的话应该会出错吧?
比方说有父类A,方法Do1输出ADo1,方法Do2调用Do1
有子类B,方法Do1输出BDo1
1.如果是override,调用B.Do1输出BDo1,调用B.Do2也输出BDo1
2.如果是new,调用B.Do1输出BDo1,调用B.Do2则输出ADo1
比方说有父类A,方法Do1输出ADo1,方法Do2调用Do1
有子类B,方法Do1输出BDo1
1.如果是override,调用B.Do1输出BDo1,调用B.Do2也输出BDo1
2.如果是new,调用B.Do1输出BDo1,调用B.Do2则输出ADo1
全部回答
- 1楼网友:酒者煙囻
- 2021-03-04 18:51
抽象方法是一定要被重写的,不然是不能调用的,有了方法体才可以被调用
- 2楼网友:行雁书
- 2021-03-04 17:53
不使用override重写的话 子类new出来的对象 调用该虚方法 是调用的在父类中的虚方法的定义的方法体执行的
打个比如吧 就像 你继承父亲的房子 但是房子如果没过户(重写) 户名不是你 所以还是使用父亲的
但是过户了就是你的了~! 比喻不是很直观
呵呵 子类对象重写后调用的时候就是子类中重写后的方法了 不重写 子类对象调用该虚方法 还是父类中实现的那个方法
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯