需求如下,现有一个类A以及子类B,C,D
abstract class A{ abstract void fn();}class B:A{ override void fn(){}}class C:A{ override void fn(){}}class D:A{ override void fn(){}}
显然,B,C,D需要各自重写相应的fn()来完成自己的功能。但是B,C,D由于功能相似,其fn()实现几乎相同。这个公共的函数有三种写法:
1.在A里添加一个 PRotected成员,然后在B,C,D都可直接调用。
2.改写A的 abstract为virtual,然后在子类通过base.fn()调用。
3.新建一个类,并且写成静态函数供B,C,D调用。
新闻热点
疑难解答