java 23设计模型(2)---工厂方式模型
来源:互联网 发布:kmp算法next手工计算 编辑:程序博客网 时间:2024/05/18 17:02
工厂方式模型---(比喻人类或者生产线的产品)
Demo:
//抽象人类创造工厂
public abstract class AbstractHumanFactory
{
public abstract <T extends Human> T createHuman(Class<T> c);
}
//人类创建工厂
public class HumanFactory extends AbstractHumanFactory
{
@Override
public <T extends Human> T createHuman(Class<T> c)
{
Human human = null;
try
{
human = (Human)Class.forName(c.getName()).newInstance();
}catch (Exception e) {
System.out.println("people is error");
}
return (T)human;
}
}
//人种(黄、白、黑---,不一一列举)
public class YellowHuman implements Human
{
@Override
public void getColor() {
System.out.println("yello is yello color");
}
@Override
public void talk() {
System.out.println("yello is yello talk");
}
}
//人的属性
public interface Human
{
public void getColor();
public void talk();
}
//开始创建人啦
public class NvWa
{
public static void main(String[] args)
{
AbstractHumanFactory YinYangLu =new HumanFactory();
System.out.println("new one people is whit man");
Human whiteHuman = YinYangLu.createHuman(WhiteHuman.class);
whiteHuman.getColor();
whiteHuman.talk();
System.out.println("new two people is black man");
Human blackHuman = YinYangLu.createHuman(BlackHuman.class);
blackHuman.getColor();
blackHuman.talk();
}
}
-------------------------------------------------------------------------------------------------------------------------------
创建的模型:(产品模型)
//抽象工厂类
public abstract class Creator
{
public abstract <T extends Product> T createProduct(Class<T> c);
}
//具体工厂类
public class ConcreteCreator extends Creator {
@Override
public <T extends Product> T createProduct(Class<T> c)
{
Product product = null;
try
{
product = (Product)Class.forName(c.getName()).newInstance();
}catch (Exception e) {
// TODO: handle exception
}
return (T)product;
}
}
//抽象产品类
public abstract class Product
{
public void method1()
{
}
public abstract void method2();
}
//具体产品类
public class ConcreateProduct1 extends Product{
@Override
public void method2() {
// TODO Auto-generated method stub
}
}
//生产产品
public class Client
{
public static void main(String[] args)
{
Creator creator = new ConcreteCreator();
Product product = creator.createProduct(ConcreateProduct1.class);
}
}
《java设计模式之禅》http://download.csdn.net/detail/u011636207/6198269
- java 23设计模型(2)---工厂方式模型
- java代码模型4(工厂设计模式)
- 设计模式---工厂模型
- 设计模式---工厂模型
- 设计模式---工厂模型
- java 23设计模型(1)---单例模型
- 设计模式之工厂模型
- Java设计模型(3)——建造者模型
- 设计模式利剑一--工厂方法模型
- 设计模式——简单工厂模型
- 软件设计模型之抽象工厂模式(Java实现)
- java 23种设计模型详解
- Java通用进程模型设计
- Java自学--观察者设计模型
- 设计模型之观察者模型(二)
- 多种设计模型(失血模型,贫血模型,充血模型,胀血模型)比较
- 设计模型之创建型模式之工厂方法模式(Factory Method)
- 设计模型之创建型模式之抽象工厂模式(Abstract Factory)
- 8篇MongoDB教程快速学会入门 第8篇数据库驱动
- 0905
- 自适应网页设计(Responsive Web Design)
- BAPI Usage
- set get方法
- java 23设计模型(2)---工厂方式模型
- Display Bookings for Selected Flights
- 通过PLSQL远程连接数据库
- 使用 Python 进行线程编程
- UI界面和方法基础
- Win32 Series - Building a Better Scroll
- 常见服务器对jdk版本的支持
- Navigation
- LEADTOOLS解决表单识别的相关策略介绍