java:Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc Fruit.java
*
* */
package com.javapatterns.factorymethod;
/*
* 水果
* 抽象产品接口
* */
public interface Fruit {
/*
*生长
* */
void grow();
/*
* 收获
* */
void harvest();
/*
*种植
* */
void plant();
}
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc FruitGardener.java
*
* */
package com.javapatterns.factorymethod;
/*
*水果园丁
* */
public interface FruitGardener {
/*
* 工厂方法
* */
public Fruit factory();
}
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc Apple.java
*
* */
package com.javapatterns.factorymethod;
/*
* 苹果
* */
public class Apple implements Fruit{
private int treeAge;
public void grow()
{
System.out.println("Apple is growing...");
}
public void harvest()
{
System.out.println("Apple has been harvested.");
}
public void plant()
{
System.out.println("Apple has been planted.");
}
public int getTreeAge()
{
return treeAge;
}
public void setTreeAge(int treeAge)
{
this.treeAge = treeAge;
}
}
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc AppleGardener.java
*
* */
package com.javapatterns.factorymethod;
/*
* 苹果园丁
* */
public class AppleGardener implements FruitGardener{
/*
* 工厂方法
* */
public Fruit factory()
{
return new Apple();
}
}
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc Grape.java
*
* */
package com.javapatterns.factorymethod;
/*
* 葡萄
* */
public class Grape implements Fruit{
public void grow()
{
System.out.println("Grape is growing...");
}
public void harvest()
{
System.out.println("Grape has been harvested.");
}
public void plant()
{
System.out.println("Grape has been planted.");
}
public boolean getSeedless()
{
return seedless;
}
public void setSeedless(boolean seedless)
{
this.seedless = seedless;
}
private boolean seedless;
}
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc GrapeGardener.java
*
* */
package com.javapatterns.factorymethod;
/*
* 葡萄园丁
* */
public class GrapeGardener implements FruitGardener{
/*
* 工厂方法
* */
public Fruit factory()
{
return new Grape();
}
}
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc Strawberry.java
*
* */
package com.javapatterns.factorymethod;
/*
* 草莓
* */
public class Strawberry implements Fruit{
public void grow()
{
System.out.println("Strawberry is growing...");
}
public void harvest()
{
System.out.println("Strawberry has been harvested.");
}
public void plant()
{
System.out.println("Strawberry has been planted.");
}
}
/*
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* 工厂方法模式 Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
* 历史版本: JDK 14.02
* 2022-09-12 创建者 geovindu
* 2022-09-12 添加 Lambda
* 2022-09-12 修改:date
* 接口类
* 2022-09-12 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc StrawberryGardener.java
*
* */
package com.javapatterns.factorymethod;
/*
* 草莓园丁
* */
public class StrawberryGardener implements FruitGardener {
public Fruit factory()
{
return new Strawberry();
}
}
调用:
//工廠方法
com.javapatterns.factorymethod.AppleGardener f=new AppleGardener();
f.factory().grow();
输出:
Apple is growing...

哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
浙公网安备 33010602011771号