public void problem1() { AbstractClassRoomUserFactory factory = new OrdinaryClassRoomUserFactory(); IClassRoomUser student = factory.createStudent(); IUserIdentity idCard = new OrdinaryIdCard("987231"); student.SetIdentity(idCard); idCard = new InternationalIdCard("1234567"); student.SetIdentity(idCard); // <- without Compile-time Error }
public void doExit(string arg0, string arg1) { AbstractClassRoomUserFactory factory = new OrdinaryClassRoomUserFactory(); if (arg0 == "International") { factory = new InternationalClassRoomUserFactory(); } IClassRoomUser person = factory.createClassRoomUser(arg1); person.Exit(); }