Java基础面试操作题:Java代理工厂设计模式 Prox…

2018-06-18 03:49:37来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

package com.swift;

public class Baby_Baomu_ProxyFactory_Test {

    public static void main(String[] args) {
        /*
         * 有一个Baby类,有Cry行为,Baby可以配一个保姆,
         * 但是作为保姆,必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶、哄睡觉。
         * 请根据以上描述设计一套代理设计模式
         */
        
        Baby baby=new ProxyFactoryBaby(new Baomu("一号保姆"));
        baby.cry();
    }
}

class Baby{
    
    public void cry() {
        System.out.println("哇哇哇,baby is crying......");
    }
}

interface LookBabyProtocal{
    void feedBaby();
    void hongBaby();
}

class Baomu implements LookBabyProtocal{
    
    private String name;
    public Baomu(String name) {
        this.name=name;
    }

    @Override
    public void feedBaby() {
        System.out.println("Baomu feed baby..");
    }

    @Override
    public void hongBaby() {
        System.out.println("Baomu hong baby..");
    }
    
}

class ProxyFactoryBaby extends Baby{
    
    Baomu baomu;

    public Baomu getBaomu() {
        return baomu;
    }
    public void setBaomu(Baomu baomu) {
        this.baomu = baomu;
    }
    public ProxyFactoryBaby(Baomu baomu) {
        this.baomu=baomu;
    }
    
    @Override
    public void cry() {
        super.cry();
        baomu.feedBaby();
        baomu.hongBaby();
    }
    
    
}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:二维数组

下一篇:Eclipse导入web项目发布项目时报Tomcat version 7.0 only suppor