internal class Program { static void Main(string[] args) { HuaWei huaWei = new HuaWei(); Man man = new Man(); man.huaWei = huaWei; } } class Man { public HuaWei huaWei { get; set; } } class HuaWei { public void Call() { Console.WriteLine("我用华为打电话"); } }
这个代码表示一个人拿了一部华为手机,当这个人想换成小米手机的时候,就不得不修改成一下的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
internal class Program { static void Main(string[] args) { XiaoMi xiaoMi = new XiaoMi(); Man man = new Man(); man.xiaoMi = xiaoMi; } } class Man { public XiaoMi xiaoMi { get; set; } } class XiaoMi { public void Call() { Console.WriteLine("我用小米打电话"); } }
internal class Program { static void Main(string[] args) { Man man = new Man(); Phone phone = new XiaoMi(); phone.Call(); } } class Man { public Phone phone { get; set; } } abstract class Phone { public abstract void Call(); } class XiaoMi:Phone { override public void Call() { Console.WriteLine("我用小米打电话"); } } class HuaWei:Phone { override public void Call() { Console.WriteLine("我用华为打电话"); } }
internal class Program { static void Main(string[] args) { Man man = new Man(); IPhone phone = new XiaoMi(); phone.Call(); } } class Man { public IPhone phone { get; set; } } interface IPhone { void Call(); } class XiaoMi:IPhone { public void Call() { Console.WriteLine("我用小米打电话"); } } class HuaWei:IPhone { public void Call() { Console.WriteLine("我用华为打电话"); } }