我在学习建造者模式的时候,里边无缘无故的出现了个getClone方法,我想知道该方法在那个类中,我就是没找到啊,请高手指教!!!!

解决方案 »

  1.   

    鼠标放在getClone,然后ctrl+左击
      

  2.   

    /*
     * 项目名称 Pattern
     * 包名称   com.niufish.pattern.builder
     * 
     * 文件名称 Builder.java
     * 
     */
    package com.niufish.pattern.builder;/**
     * 抽象建造者,规范产品对象的各个组成成分的建造。一般而言,此接口独立于应用程序的商业逻辑。
     * <p>
     * <a href="Builder.java.html"><i>View Source</i></a>
     * </p>
     * @author  Kingfish
     * @version 1.0
     */
    public interface Builder {
        
        void buildPart1();
        
        void buildPart2();
        
        Product getResult();
        
    }
      

  3.   

    /*
     * 项目名称 Pattern
     * 包名称   com.niufish.pattern.builder
     * 
     * 文件名称 Client.java
     * 
     */
    package com.niufish.pattern.builder;/**
     * 测试类
     * <p>
     * <a href="Client.java.html"><i>View Source</i></a>
     * </p>
     * @author  Kingfish
     * @version 1.0
     */
    public class Client {    public static void main(String[] args) {
            Director di = new Director();
            di.construct();
        }
    }
      

  4.   

    /*
     * 项目名称 Pattern
     * 包名称   com.niufish.pattern.builder
     * 
     * 文件名称 ConcreteBuilder.java
     * 
     */
    package com.niufish.pattern.builder;/**
     * 具体建造者,与应用程序紧密相关的一些类
     * <p>
     * <a href="ConcreteBuilder.java.html"><i>View Source</i></a>
     * </p>
     * @author  Kingfish
     * @version 1.0
     */
    public class ConcreteBuilder implements Builder {
        
        private Product _product = new Product1();
        
        /**
         * @see com.niufish.pattern.builder.Builder#buildPart1()
         */
        public void buildPart1() {
            _product.setPart1("A");
        }    /**
         * @see com.niufish.pattern.builder.Builder#buildPart2()
         */
        public void buildPart2() {
            _product.setPart2("B");
        }    /**
         * @see com.niufish.pattern.builder.Builder#getResult()
         */
        public Product getResult() {
            return _product;
        }}