private static void CreateHumanTest() { AbstractHumanFactory yinyanglu = new HumanFactory(); Human whiteHuman = yinyanglu.createHuman <WhiteHuman>(); whiteHuman.getColor(); whiteHuman.talk(); Human blackHuman = yinyanglu.createHuman <BlackHuman>(); blackHuman.getColor(); blackHuman.talk(); Human yellowHuman = yinyanglu.createHuman <YellowHuman>(); yellowHuman.getColor(); yellowHuman.talk(); //注意:yinyanglu已经限制为人Human及子类型,TestDeleteClass普通类实例化会报错 //yinyanglu.createHuman<TestDeleteClass>(); }