工厂方法模式A

package 工厂方法模式;

public interface Human {
	public void laugh();
	public void cry();
	public void talk();
}
//****************************************************************************
package 工厂方法模式;

public class WhiteHuman implements Human {


	public void laugh() {
		System.out.println("白种人笑了····");

	}


	public void cry() {
		System.out.println("白种人哭了····");

	}


	public void talk() {
		System.out.println("白种人在说话了····");

	}

}
//****************************************************************************
package 工厂方法模式;

public class BlackHuman implements Human {


	public void laugh() {
		System.out.println("黑种人笑了····");

	}


	public void cry() {
		System.out.println("黑种人哭了····");

	}


	public void talk() {
		System.out.println("黑种人在说话了····");

	}

}
//****************************************************************************
package 工厂方法模式;

public class YellowHuman implements Human {

	public void laugh() {

		System.out.println("黄种人笑了····");

	}

	public void cry() {
		System.out.println("黄种人哭了····");

	}

	public void talk() {
		System.out.println("黄种人在说话了····");

	}

}

//****************************************************************************
package 工厂方法模式;

public class HumanFactory {
	
	public static Human createHuman(Class c) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
		Human human = null;
		human = (Human)Class.forName(c.getName()).newInstance();
		return human;
	}
	
}

//****************************************************************************

package 工厂方法模式;

public class NvWa {
	public static void main(String aegs[]) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
		
				System.out.println("····造出的第一批人是这样的:白人····");
				Human whiteHuman  =  HumanFactory.createHuman(WhiteHuman.class);
				whiteHuman.cry();
				whiteHuman.laugh();
				whiteHuman.talk();

				System.out.println("····造出的第二批人是这样的:黑人····");
				Human BlackHuman  =  HumanFactory.createHuman(BlackHuman.class);
				BlackHuman.cry();
				BlackHuman.laugh();
				BlackHuman.talk();
				
				System.out.println("····造出的第三批人是这样的:黄种人····");
				Human YellowHuman  =  HumanFactory.createHuman(YellowHuman.class);
				YellowHuman.cry();
				YellowHuman.laugh();
				YellowHuman.talk();
	}
}

猜你喜欢

转载自zhangit.iteye.com/blog/1853195