需求以下,现有一个类A以及子类B,C,Dide
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 均可直接调用。spa
2. 改写 A 的 abstract 为 virtual,而后在子类经过 base.fn() 调用。code
3. 新建一个类,而且写成静态函数供B,C,D调用。blog