c# 父类中,必须被继承类重载的方法前面可以有abstract(重点解释一下原因)

如题所述

abstract说明的抽象方法,只有函数签名,没有函数体,是不完整的方法,所在的类当然也是不完整类,也就是抽象类。抽象类是不能被实例化,原因就是它不完整。
抽象方法必须被继承,目的是在某一派生类中给出它的实现,补充原来没有的函数体,这样这个方法就可以起作用了,所在的类也就可以被实例化了。
如果派生类也没有实现这个方法,那么派生类也变成抽象类了。由该派生类的某后代类去实现这个抽象方法。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-29
这个问题令人困惑的地方就是在“必须被继承类重载”,除了人为干预,从语法角度根本没法实现。
如果父类不是抽象类,除了abstract不能修饰父类方法外,其余的都可以(如果D选项的单词只是你书写错误)。不过此时,无法限制子类必须重载父类的方法。
如果父类是抽象类,那么只有子类不是抽象类,并且父类存在抽象方法时,才能使子类必须重载父类的方法。此时必须被重载的父类方法(没有函数体的方法)的前面肯定有abstract,可以有internal和protected。
你最好找出题的人确认一下这个问题。
第2个回答  2014-05-28
因为语法就是这样的,“必须被继承类重载”的方法就是“抽象”方法,语法上就是
abstract来标记,不是可以有,应该是必须有吧。本回答被网友采纳
第3个回答  2014-05-28
你可以根据项目实现功能的需求使用abstract定义抽象类,不同的知识点的存在只是为了有效解决不同的问题而提出的方法,在使用时要记住,抽象类中不一定要有抽象方法,而抽象方法一定是在抽象类中的。并且抽象类不能被实例化,也就是不能创建对象。父类使用abstract修饰,子类继承父类的同时必须重载父类的抽象方法。。进而实现多态性。。减少代码量,结构清晰,方便管理等。。
第4个回答  2014-05-28
子类继承父类 必须重载父类所有方法。必须用abstract修饰,这种方法叫做抽象方法
相似回答