在实际编程中,会经常遇到多个类中的某些方法实现逻辑类似的情况,这时我们可以将这些类中的相同部分抽象到父类中,对于有差异的地方,子类根据自身的实际需求来各自实现。
以羽毛球运动为例,打球必有发接发环节,发球分正手和反手两种(这里不谈论羽球技术细节),一般男单反手发球,女单正手发球,但发接发这个环节的流程是一致的。
abstract class Badminton { public abstract void Serve(); public abstract void Catch(); public abstract void Play(); }class MenSingle : Badminton { public override void Serve() { Console.WriteLine("反手发球......"); } public override void Catch() { Console.WriteLine("正手推底线"); } public override void Play() { Serve(); Catch(); } }class&