• java: Abstract Factory(Kit/ToolKit)


    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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.abstractfactory;
    
    /**
    * 水果
     * @author geovindu
    * */
    public interface Fruit {
    
        /**
         *
         * 生长
         * */
        void Grow();
        /**
         * 收获
         * */
        void Harvest();
        /**
         *种植
         * */
        void Plant();
    
    
    }
    

      

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 Veggie.java
     *
     * */
    
    package com.javapatterns.abstractfactory;
    
    /**
    * 蔬菜
     * @author geovindu
    * */
    public interface Veggie {
    
        /**
         *
         * 生长
         * */
        void Grow();
        /**
         * 收获
         * */
        void Harvest();
        /**
         *种植
         * */
        void Plant();
        /**
        * 浇水
        * */
        void Watering();
    }
    

      

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 Gardener.java
     *
     * */
    
    
    package com.javapatterns.abstractfactory;
    
    
    /**
     *
    * 园丁
     * @author geovindu
    * */
    public interface Gardener {
    
        /**
         * 水果
         * @param name
         * */
        public Fruit createFruit(String name);
        /**
         * 蔬菜
         * @param  name
        *
        * */
        public Veggie createVeggie(String name);
    }
    

      

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 NorthernFruit.java
     *
     * */
    
    
    package com.javapatterns.abstractfactory;
    
    
    
    /**
     * 北方水果
     * @param
     * @author geovindu
     *
     * */
    public class NorthernFruit  implements Fruit{
    
        private String name;
        /**
         *
         * */
        public NorthernFruit(String name)
        {
            this.name=name;
        }
        /**
         *
         * */
        public String getName()
        {
            return name;
        }
        /**
         *
         * */
        public void setName(String name)
        {
            this.name = name;
        }
    
        private int treeAge;
        /**
         *
         * */
        @Override
        public void Grow()
        {
            System.out.println("Northern Fruit is growing...");
        }
        /**
         *
         * */
        @Override
        public void Harvest()
        {
            System.out.println("Northern Fruit has been harvested.");
        }
        /**
         *
         * */
        @Override
        public void Plant()
        {
            System.out.println("Northern Fruit has been planted.");
        }
        /**
         *
         * */
    
        public int getTreeAge()
        {
            return treeAge;
        }
        /**
         *
         * */
    
        public void setTreeAge(int treeAge)
        {
            this.treeAge = treeAge;
        }
    
    
    
    }
    

      

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 NorthernVeggie.java
     *
     * */
    
    package com.javapatterns.abstractfactory;
    
    /**
     * 北方蔬菜
     * @author geovindu
     * */
    public class NorthernVeggie implements Veggie
    {
        private String name;
        /**
         *
         * */
        public NorthernVeggie(String name)
        {
            this.name=name;
        }
        /**
         *
         * */
        public String getName()
        {
            return name;
        }
        /**
         *
         * */
        public void setName(String name)
        {
            this.name = name;
        }
        /**
         *
         * */
        @Override
        public void Grow()
        {
            System.out.println("Northern Veggie is growing...");
        }
        /**
         *
         * */
        @Override
        public void Harvest()
        {
            System.out.println("Northern Veggie has been harvested.");
        }
        /**
         *
         * */
        @Override
        public void Plant()
        {
            System.out.println("Northern Veggie has been planted.");
        }
        /**
         *
         * */
        @Override
        public void Watering() {
            System.out.println("Northern Veggie has been watering.");
        }
    }
    

     

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 NorthernGardener.java
     *
     * */
    
    
    
    package com.javapatterns.abstractfactory;
    
    /**
     * 北方水果园丁
     * @author geovindu
     * @param
     *
     * */
    public class NorthernGardener implements Gardener{
    
    
    
    
        private String name;
        /**
         *
         * */
        public NorthernGardener()
        {
    
        }
        /**
         *
         * */
        public String getName()
        {
            return name;
        }
        /**
         *
         * */
        public void setName(String name)
        {
            this.name = name;
        }
        /**
         *
         * */
        public Fruit createFruit(String name)
        {
            return new NorthernFruit(name);
        }
        /**
         *
         * */
        public Veggie createVeggie(String name)
        {
            return new NorthernVeggie(name);
        }
    
    
    }
    

      

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 TropicalFruit.java
     *
     * */
    
    package com.javapatterns.abstractfactory;
    
    /**
     * 热带水果
     * @author geovindu
     * */
    public class TropicalFruit implements Fruit{
    
        private String name;
        /**
         *
         * */
        public TropicalFruit(String name)
        {
            this.name=name;
        }
        /**
         *
         * */
        public String getName()
        {
            return name;
        }
        /**
         *
         * */
        public void setName(String name)
        {
            this.name = name;
        }
    
        private int treeAge;
        /**
         *
         * */
        public void Grow()
        {
            System.out.println("Tropical Fruit is growing...");
        }
        /**
         *
         * */
        public void Harvest()
        {
            System.out.println("Tropical Fruit has been harvested.");
        }
        /**
         *
         * */
        public void Plant()
        {
            System.out.println("Tropical Fruit has been planted.");
        }
        /**
         *
         * */
        public int getTreeAge()
        {
            return treeAge;
        }
        /**
         *
         * */
        public void setTreeAge(int treeAge)
        {
            this.treeAge = treeAge;
        }
    
    }
    

      

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 TropicalVeggie.java
     *
     * */
    
    
    package com.javapatterns.abstractfactory;
    
    
    /**
     * 热带蔬菜
     * @author geovindu
     * **/
    public class TropicalVeggie implements Veggie{
    
        private String name;
        /**
         *
         * */
        public TropicalVeggie(String name)
        {
            this.name=name;
        }
        /**
         *
         * */
        public String getName()
        {
            return name;
        }
        /**
         *
         * */
        public void setName(String name)
        {
            this.name = name;
        }
        /**
         *
         * */
        @Override
        public void Grow()
        {
            System.out.println("Tropical Vigge is growing...");
        }
        /**
         *
         * */
        @Override
        public void Harvest()
        {
            System.out.println("Tropical Vigge has been harvested.");
        }
        /**
         *
         * */
        @Override
        public void Plant()
        {
            System.out.println("Tropical Vigge has been planted.");
        }
        /**
         *
         * */
        @Override
        public void Watering() {
            System.out.println("Tropical Vigge has been watering.");
        }
    
    }
    

      

    /**
     * 版权所有 2022 涂聚文有限公司
     * 许可信息查看:
     * 描述:
     * 抽象工厂 Abstract Factory(Kit/ToolKit)
     * 历史版本: 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 TropicalGardener.java
     *
     * */
    
    package com.javapatterns.abstractfactory;
    
    
    /**
     * 热带园丁
     * @author geovindu
     * */
    public class TropicalGardener implements Gardener{
    
        /**
         *水果
         * @param name
         * */
        public Fruit createFruit(String name)
        {
            return new TropicalFruit(name);
        }
    
        /**
         *蔬菜
         * @param name
         *
         * */
        public Veggie createVeggie(String name)
        {
            return new TropicalVeggie(name);
        }
    
    
    
    }
    

      

     调用测试:

                //抽象工厂
                com.javapatterns.abstractfactory.NorthernGardener gardener=new NorthernGardener();
                gardener.setName("geovindu");
                com.javapatterns.abstractfactory.NorthernFruit  fruit=(NorthernFruit)gardener.createFruit("苹果");
    
                fruit.Harvest();
                System.out.println("园丁管理员是:"+gardener.getName()+"种植的水果是:"+fruit.getName());
    

      

    输出:

    Northern Fruit has been harvested.
    园丁管理员是:geovindu种植的水果是:苹果
    

      

  • 相关阅读:
    kubectl exec 执行 容器命令
    centos下通过yum安装redis-cli
    windows下 使用ip地址反查主机名的命令
    O365(世纪互联)SharePoint 之文档库使用小记
    SharePoint 2016 图文安装教程
    SharePoint 2013 激活标题字段外的Menu菜单
    SharePoint 2013 定制搜索显示模板(二)
    SharePoint 2013 定制搜索显示模板
    SharePoint 2013 网站搜索规则的使用示例
    SharePoint 2013 搜索功能,列表项目不能完全被索引
  • 原文地址:https://www.cnblogs.com/geovindu/p/16686086.html
Copyright © 2020-2023  润新知