码迷,mamicode.com
首页 > 编程语言 > 详细

Java代理工厂设计模式 ProxyFactory 面试题:有一个Baby类,有Cry行为,Baby可以配一个保姆 但是作为保姆必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶、哄睡觉。 请根据以上描述实现代理设计模式

时间:2018-01-17 11:19:53      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:实现   private   body   proxy   bsp   pos   inter   this   super   

package com.swift;

public class Baby_Baomu_ProxyFactory_Test {

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

 

Java代理工厂设计模式 ProxyFactory 面试题:有一个Baby类,有Cry行为,Baby可以配一个保姆 但是作为保姆必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶、哄睡觉。 请根据以上描述实现代理设计模式

标签:实现   private   body   proxy   bsp   pos   inter   this   super   

原文地址:https://www.cnblogs.com/qingyundian/p/8301560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!