设计模式-组合
public class BackCard { public string UserName { get; set; } public string id { get; set; } public void CunQian() { } public void Overdraft() { } } // 这样继承,CCBBank没有Overdraft方法,就会报错 //public class CCBBank : BackCard { //} // 把属性用基础类和接口分离开来 public interface ICard { void CunQian(); } public interface ICreditCard : ICard { void CunQian(); void Overdraft(); } public class BaskBank { public string UserName { get; set; } public string id { get; set; } } public class CCBBank : BaskBank, ICard { public void CunQian() { throw new NotImplementedException(); } }
基础属性放到基类里,使用不同功能的接口,这样原来的接口和基类都不用改,避免了开闭原则。