virtual和abstract的使用场景分别是什么?待更新。

1.父类的virtual方法,子类重写需要加override修饰符。(子类不加override会有什么后果?父类中没有virtual修饰的方法就不能重写了吗?)

答:父类的virtual方法(非强制在派生类中重写)和abstract方法(强制在派生类重写)在派生类中重写时,重写两者方法,必须用override修饰符号。

2.若一个类中有abstract方法,该类也必须为抽象类。类(除了抽象类,因为抽象类的抽象方法可以没有方法实现)继承接口,接口中发方法必须全部有方法实现。

(抽象类可以被继承吗?答:抽象类只能被继承,不能实例化。

 抽象类在哪些使用场景中使用:答:抽象类作为基类时,非抽象的方法是派生类共有的。抽象类在派生类中重写。

抽象类中的抽象方法和接口有没有方法实现,目前接口好像也可以有方法实现了。那抽象类和接口的区别是什么。

答:抽象类可以有字段,静态变量,构造函数。只能继承一个抽象类,但可以继承多个接口。

为什么要有接口?答:接口是规则的集合,继承接口的方法,必须实现接口中的方法。体现了自然界中“如果你是。。。,你必须能。。。”。继承接口的方法可以给接口赋值。

3.接口,抽象类,抽象方法(abstract),虚方法(virtual)的使用场景分别是什么?

答:抽象方法和虚拟方法的区别是,抽象方法在派生类中强制性要求重写,虚拟方法则可以重写,也可以不重写。

 

 

 

posted @ 2020-05-26 16:58  留下成长的足迹  阅读(237)  评论(0编辑  收藏  举报