zoukankan      html  css  js  c++  java
  • 代理模式

    代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。

    GiveGift.java类

    package proxy;
    
    public abstract class GiveGift {
        abstract void giveDolls();
        abstract void giveFlowers();
        abstract void giveChocolate();
    }

    Pursuit.java类

    package proxy;
    
    public class Pursuit extends GiveGift {
        
        SchoolGirl girl;
    
        public Pursuit(SchoolGirl girl) {
            this.girl = girl;
        }
    
        @Override
        void giveDolls() {
            System.out.println(girl.getName()+",送你洋娃娃");
        }
    
        @Override
        void giveFlowers() {
            System.out.println(girl.getName()+",送你鲜花");
        }
    
        @Override
        void giveChocolate() {
            System.out.println(girl.getName()+",送你巧克力");
        }
    
    }

    Proxy.java类

    package proxy;
    
    public class Proxy extends GiveGift {
        Pursuit boy;
        
        public Proxy(SchoolGirl girl) {
            boy = new Pursuit(girl);
        }
    
        @Override
        void giveDolls() {
            boy.giveDolls();
        }
    
        @Override
        void giveFlowers() {
            boy.giveFlowers();
        }
    
        @Override
        void giveChocolate() {
            boy.giveChocolate();
        }
    
    }

    SchoolGirl.java类

    package proxy;
    
    public class SchoolGirl {
        String name;
    
        public String getName() {
            return name;
        }
    
        public SchoolGirl(String name) {
            this.name = name;
        }
    
        
    }

    Business.java类

    package proxy;
    
    public class Business {
    
        public static void main(String[] args) {
            SchoolGirl girl = new SchoolGirl("徐娇娇");
            Proxy pp = new Proxy(girl);
            pp.giveDolls();
            pp.giveFlowers();
            pp.giveChocolate();
        }
    
    }
  • 相关阅读:
    设计模式—享元模式
    设计模式—观察者模式
    设计模式—桥接模式
    设计模式—代理模式
    设计模式—装饰模式
    设计模式—单例模式
    设计模式—建造者模式
    设计模式—简单工厂
    源码解读—HashTable
    源码解读—HashMap
  • 原文地址:https://www.cnblogs.com/ccgjava/p/7036655.html
Copyright © 2011-2022 走看看