public static function main() { $abstraction = new RefinedAbstraction(new ConcreteImplementorA()); $abstraction->operate(); $abstraction = new RefinedAbstraction(new ConcreteImplementorB()); $abstraction->operate(); }