编程模拟房产中介的日常操作

编程模拟房产中介的日常操作。

1、客户在中介公司登记个人信息。

2、客户提供售房或买房信息给中介。

3、中介将信息转发给所有人或感兴趣的人。

4、客户获取信息,看房,签协议……看房、签协议是线下行为,本系统可忽略。

3a0e7106f53093aed064f11b69d2cd7a.png

 Customer

package Mediator;

//抽象同事类
public abstract class Customer {
    protected Mediator mediator;
    public void setMediator(Mediator mediator){
        this.mediator=mediator;
    }
    public abstract void receive();
    public abstract void send();
}

Buyer

package Mediator;

//具体同事类:买方
public class Buyer extends Customer {
    public void receive(){
        System.out.println("买方收到售房信息");
    }
    public void send(){
        System.out.println("买方发送买房信息:我要买房...");
        mediator.relay(this);
    }
}

Seller

package Mediator;


//具体同事类:卖方
public class Seller extends Customer{
    @Override
    public void receive() {
        System.out.println("卖方收到买房信息");
    }

    @Override
    public void send() {
        System.out.println("卖方发出售房信息:我要卖房...");
        mediator.relay(this);//请中介者转发
    }
}

Mediator

package Mediator;

import java.util.ArrayList;
import java.util.List;

//中介者
public class Mediator {
    private List<Customer> customers=new ArrayList<Customer>();
    public void register(Customer customer){
        if(!customers.contains(customer)){
            customers.add(customer);
            customer.setMediator(this);
        }
    }
    public void relay(Customer c1){
        for(Customer ob:customers){
            if(!ob.equals(c1)){
                ((Customer)ob).receive();
            }
        }
    }
}

Main

package Mediator;

public class Main {
    public static void main(String[] args){
        Mediator md=new Mediator();
        Customer buyer,seller;
        buyer=new Buyer();
        seller=new Seller();
        md.register(buyer);
        md.register(seller);
        buyer.send();
        seller.send();
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值