public void doJoinAndExit(string arg) { IClassRoomUser person = factory.createClassRoomUser(arg); person.Join(); person.Exit(); }
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(); }
public override IClassRoomUser createClassRoomUser(string args) { IClassRoomUser ret = null; if (args == "student") { ret = new OrdinaryStudent(); } else if (args == "teacher") { ret = new OrdinaryTeacher(); } else if (args == "parent") { ret = new OrdinaryParent(); } return(ret); }
public override IClassRoomUser createClassRoomUser(string args) { IClassRoomUser ret = null; if (args == "student") { ret = new InternationalStudent(); } else if (args == "teacher") { ret = new InternationalTeacher(); } else if (args == "parent") { ret = new InternationalParent(); } return(ret); }