java设计模式之工厂模式实例详解
程序员文章站
2024-03-01 23:53:22
本文实例讲述了java设计模式之工厂模式。分享给大家供大家参考,具体如下:
工厂模式(factory)
涉及到4个角色:抽象工厂类角色,具体工厂类角色,抽象产品类角色和...
本文实例讲述了java设计模式之工厂模式。分享给大家供大家参考,具体如下:
工厂模式(factory)
涉及到4个角色:抽象工厂类角色,具体工厂类角色,抽象产品类角色和具体产品类角色。
抽象工厂类角色使用接口或者父类来描述工厂的行为,
具体工厂类角色负责创建某一类型的产品对象。
抽象产品类可以使用接口或者父类来描述产品对象的行为特征。
具体产品类就是某一具体的对象。
工厂模式不同于静态工厂模式的地方:
工厂模式在工厂类也实现了多态,而不仅仅是在产品对象上实现多态。
它可以应对不同类型的产品对应一种具体的工厂。
其设计模式如下:
抽象工厂类 ifactory
package org.test.design.f; /** * * @author lushuaiyin * */ public interface ifactory { iproduct createproduct(); }
具体工厂类 carfactory computerfactory
package org.test.design.f; public class carfactory implements ifactory { public iproduct createproduct() { return new car(); } }
package org.test.design.f; public class computerfactory implements ifactory { public iproduct createproduct() { return new computer(); } }
抽象产品类 iproduct
package org.test.design.f; public interface iproduct { void work(); }
具体产品类 car computer
package org.test.design.f; public class car implements iproduct{ public void work() { system.out.println("i am car."); } }
package org.test.design.f; public class computer implements iproduct{ public void work() { system.out.println("i am computer."); } }
测试:
package org.test.design.f; public class testmain { /** * @param args */ public static void main(string[] args) { ifactory carfactory=new carfactory(); iproduct car=(iproduct)carfactory.createproduct(); car.work(); ifactory pcfactory=new computerfactory(); iproduct pc=(iproduct)pcfactory.createproduct(); pc.work(); } } /*打印 i am car. i am computer. */
更多java相关内容感兴趣的读者可查看本站专题:《java数据结构与算法教程》、《java操作dom节点技巧总结》、《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
上一篇: 「基因组注释」构建重复序列数据库