抽象工厂模式(Abstract Factory):
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
public interface Person{ } public class Student implements Person{ } public class Teacher implements Person{ } abstract class PersonFactory{ abstract Person producePerson(); public static PersonFactory getInstance(String classname) { PersonFactory personFactory = null; try { personFactory = (PersonFactory) Class.forName(classname).newInstance(); } catch (Exception e) { e.printStackTrace(); } return personFactory ; } } public class StudentFactory extends PersonFactory { @Override public Person producePerson() { return new Student(); } } public class TeacherFactory extends PersonFactory { @Override public Person producePerson() { return new Teacher(); } } public class AbstractFactory{ public static void main(String args[])throws Exception{ Properties p = new Properties(); p.load(new FileInputStream("1.properties")); String str = p.getProperty("Student"); Person p = PersonFactory.getInstance(str); p.producePerson(); } }
-------------------------------------------------------------------------------
1.properties代码:
Student=com.factory.abstract.Student
Teacher=com.factory.abstract.Teacher
上面就介绍完了抽象工厂模式,下期预告,单例模式