virtual和abstract的使用场景分别是什么?待更新。
1.父类的virtual方法,子类重写需要加override修饰符。(子类不加override会有什么后果?父类中没有virtual修饰的方法就不能重写了吗?)
答:父类的virtual方法(非强制在派生类中重写)和abstract方法(强制在派生类重写)在派生类中重写时,重写两者方法,必须用override修饰符号。
2.若一个类中有abstract方法,该类也必须为抽象类。类(除了抽象类,因为抽象类的抽象方法可以没有方法实现)继承接口,接口中发方法必须全部有方法实现。
(抽象类可以被继承吗?答:抽象类只能被继承,不能实例化。
抽象类在哪些使用场景中使用:答:抽象类作为基类时,非抽象的方法是派生类共有的。抽象类在派生类中重写。
抽象类中的抽象方法和接口有没有方法实现,目前接口好像也可以有方法实现了。那抽象类和接口的区别是什么。
答:抽象类可以有字段,静态变量,构造函数。只能继承一个抽象类,但可以继承多个接口。
为什么要有接口?答:接口是规则的集合,继承接口的方法,必须实现接口中的方法。体现了自然界中“如果你是。。。,你必须能。。。”。继承接口的方法可以给接口赋值。
)
3.接口,抽象类,抽象方法(abstract),虚方法(virtual)的使用场景分别是什么?
答:抽象方法和虚拟方法的区别是,抽象方法在派生类中强制性要求重写,虚拟方法则可以重写,也可以不重写。