做网站鼠标移动 链接变颜色,seo发帖网站,搭建网站要用到的工具,手机端的网页题目#xff1a; 所谓代理模式#xff0c;是指客户端(Client)并不直接调用实际的对象#xff0c;而是通过调用代理(Proxy)#xff0c;来间接的调用实际的对象。 已知有如下Buy_car接口#xff0c;请编写其客户端子类People类为委托类#xff0c;以及代理类ProxySale类 所谓代理模式是指客户端(Client)并不直接调用实际的对象而是通过调用代理(Proxy)来间接的调用实际的对象。 已知有如下Buy_car接口请编写其客户端子类People类为委托类以及代理类ProxySale类具体要求如下。 已有的接口定义如下
interface Buy_car{public void buy_mycar();
}
需要编写Buy_car接口的子类People
子类People实现接口Buy_car
1添加3个私有属性现金 cashint 是否贵宾 vipboolean用户名usernameString
2添加三参构造初始化三个属性。
3覆写buy_mycar()方法输出信息“。。。要买车”。例如Tom要买车
4添加三个属性的getter方法。
需要编写代理类ProxySale
设计一个代理类ProxySale实现接口Buy_car
1添加1个私有属性People对象。
2添加一参构造初始化People对象。
3覆写buy_mycar()方法方法里面要判断用户是否为VIP是就可以直接买车如果不是VIP则判断现金是否够50000元以上包含50000够就可以直接买车如果不够就不能买车。
已有的Main类定义
/* 请在这里填写答案 */public class Main {public static void main(String[] args) {Buy_car buy1new ProxySale(new People(0,true,Tom));Buy_car buy2new ProxySale(new People(60000,false,Jack));Buy_car buy3new ProxySale(new People(40000,false,Rose));buy1.buy_mycar();buy2.buy_mycar();buy3.buy_mycar();}
} 根据题目要求代码实现如下
class People implements Buy_car {private int cash;private boolean vip;private String username;public People(int cash,boolean vip,String username) {this.setCash(cash);this.setUsername(username);this.setVip(vip);}Overridepublic void buy_mycar() {System.out.println(this.getUsername()要买车);}public void setCash(int cash) {this.cash cash;}public void setVip(boolean vip) {this.vip vip;}public void setUsername(String username) {this.username username;}public int getCash() {return cash;}public boolean isVip() {return vip;}public String getUsername() {return username;}
}class ProxySale implements Buy_car{private People p;ProxySale(People p) {this.pp;}public void buy_mycar() {if(p.isVip()true)System.out.println(p.getUsername()是vip可以直接购买新车);else if(p.getCash()50000 p.isVip()false)System.out.println(p.getUsername()买了新车交易结束!);elseSystem.out.println(p.getUsername()钱不够不能购买新车!);}} 以上就是 PTA-6-47 购买汽车-代理模式 的全部内容了希望能对你有所帮助