static void Main(string[] args) { Abstraction ab = new RefinedAbstraction(); ab.setImplementor(new ConcreteImplementorA()); ab.Operation(); ab.setImplementor(new ConcreteImplementorB()); ab.Operation(); Console.ReadKey(); }