周日外出去玩,出行方式有步行,騎行,公車。每個人因人或環境等等因素而選擇的方式有所不同。簡單工廠是符合此類型的。只有在運行時,才知道使用的哪種方法。創建一個抽象類Base: public abstract class Base { public abstract string Mode(); } 下 ...
周日外出去玩,出行方式有步行,騎行,公車。
每個人因人或環境等等因素而選擇的方式有所不同。
簡單工廠是符合此類型的。只有在運行時,才知道使用的哪種方法。
創建一個抽象類Base:
public abstract class Base { public abstract string Mode(); }Source Code
下麵分別創建3個類別,Bus,ycling,Walk,它們需要重寫抽象類的抽象方法。
public class Bus : Base { public override string Mode() { return this.GetType().Name; } }Source Code
public class ycling : Base { public override string Mode() { return this.GetType().Name; } }Source Code
public class Walk : Base { public override string Mode() { return this.GetType().Name; } }Source Code
既然是簡單工廠,在這個工廠類中,去根據條件來決定運行哪一個方法,此方法一般情況之下,使用static實現靜態。
public class Factory { public static Base Trip(int speed) { if (speed <= 7) return new Walk(); if (speed > 7 && speed <= 20) return new ycling(); if (speed > 20) return new Bus(); return null; } }Source Code