代理模式:java-----静态代理

本文通过一个租房中介的例子,展示了Java中静态代理的实现方式。定义了租房中介接口RentHouse,包括看房、定价和签约方法,并创建了房东FangDong和中介ZhongJie的实现类。中介类在代理房东执行方法时,会根据小费判断是否允许看房。代码示例展示了如何在实际操作中使用静态代理模式。
摘要由CSDN通过智能技术生成

定义:对象A具有一个方法method(),建立一个代理对象B可以代理对象A实行method()方法

代码演示:

接口:

package com.lyc.myjavanine;

public interface RentHouse {
    //带领租客看房
    void LookHouse();
    //定下租价
    void AgreeMoney(int money);
    //签下合同
    void SignPager();
}

实现类:

package com.lyc.myjavanine;

import android.util.Log;

public class FangDong implements RentHouse {
    @Override
    public void LookHouse() {
        Log.d("testlyc","带领租客看房");
    }

    @Override
    public void AgreeMoney(int money) {
        Log.d("testlyc","定下租金:"+money);
    }

    @Override
    public void SignPager() {
        Log.d("testlyc","签合同");
    }
}

实现类:

package com.lyc.myjavanine;

import android.util.Log;

public class ZhongJie implements RentHouse{
    FangDong fangDong;
    int tip=0;
    public ZhongJie(FangDong fangDong){
        this.fangDong=fangDong;
    }

    @Override
    public void LookHouse() {
        if(tip>300){
            fangDong.LookHouse();
        }else {
            Log.d("testlyc","未给消费不能看房");
        }

    }

    @Override
    public void AgreeMoney(int money) {
        fangDong.AgreeMoney(money);
    }

    @Override
    public void SignPager() {
        fangDong.SignPager();
    }
    public void give(int tip){
        this.tip=tip;
    }
}

调用:

package com.lyc.myjavanine;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

/**
 * 静态代理
 */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ZhongJie zhongJie=new ZhongJie(new FangDong());
        zhongJie.give(400);
        zhongJie.LookHouse();
        zhongJie.AgreeMoney(3000);
        zhongJie.SignPager();
    }
}

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值