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

Posted qingyundian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java代理工厂设计模式 ProxyFactory 面试题:有一个Baby类,有Cry行为,Baby可以配一个保姆 但是作为保姆必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶哄睡觉。 请根(相关的知识,希望对你有一定的参考价值。

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的行为,如喂奶哄睡觉。 请根(的主要内容,如果未能解决你的问题,请参考以下文章

spring-AOP(二) 自动代理

Dubbo原理实现之代理接口的定义

浅谈CglibJdk以及ProxyFactory实现动态代理上的区别

工厂模式以及代理模式

#yyds干货盘点# mybatis源码解读:executor包(懒加载功能)

有关java的动态代理和代理模式