zoukankan      html  css  js  c++  java
  • Java基础面试操作题: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的行为,如喂奶、哄睡觉。
             * 请根据以上描述设计一套代理设计模式
             */
            
            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();
        }
        
        
    }
  • 相关阅读:
    微信消息类型和事件类型
    lnmp环境搭建脚本
    laravel框架踩过的坑
    vue结构详解
    PHP消息队列实现及应用
    laravel 运行错误
    笔记分享
    cf730e
    cf 730i
    cf 731f
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8301560.html
Copyright © 2011-2022 走看看