编写一个VIPCustomer类,包括: ①该类是Customer的子类; ②新增3个属性:顾客等级(分为VVIP、VIP、非会员)、会员折扣(租房时,VIP享8折、普通会员享9折、非会员无折扣)、会员积分(默认为0) ③继承父类Customer的构造方法(用来为顾客ID赋值、设置默认密码、设置默认余额、为顾客姓名赋初始值、为当前所在地赋初始值);参数新增:顾客等级;方法体新增:为顾客等级赋值、为会员积分设置默认值、根据顾客等级设置折扣大小。 ④适当的getter和setter方法(有的属性不要设置set方法或者get方法,有的set方法需要适当改写,自行判断): (要求:会员折扣的set方法要根据会员等级进行设置;会员积分的set方法用来累加积分……); ⑤定义支付房租的方法: 若账户余额balance(成员变量)>房间价格price(成员变量)*会员折扣:账户余额直接扣款(balance-price*会员折扣),返回true,打印一定的反馈信息(“房租支付成功”); 若账户余额balance(成员变量)<房间价格price(成员变量)*会员折扣: 返回false,打印一定的反馈信息(“账户余额不足,房租支付失败”) ⑥重写toString()方法:使用关键字调用被隐藏的父类的toString()方法,并拼接打印VIPCustomer类中的成员变量。
时间: 2023-05-24 11:07:25 浏览: 179
vvip205:宿舍打印机会员管理系统——基于微信公共号
public class VIPCustomer extends Customer{
private String level;
private double discount;
private int point;
public VIPCustomer(String id, String level){
super(id);
setPassword("123456");
setBalance(10000);
setName("顾客姓名");
setLocation("顾客所在地");
this.level = level;
setPoint(0);
setDiscount();
}
public String getLevel(){
return level;
}
public void setLevel(String level){
this.level = level;
setDiscount();
}
public double getDiscount(){
return discount;
}
private void setDiscount(){
if(level.equals("VVIP")){
this.discount = 0.8;
} else if(level.equals("VIP")){
this.discount = 0.9;
} else {
this.discount = 1;
}
}
public int getPoint() {
return point;
}
public void setPoint(int point) {
this.point = point;
}
public boolean payRent(double price){
if(getBalance() >= price * discount){
setBalance(getBalance() - price * discount);
System.out.println("房租支付成功");
setPoint(getPoint()+10);
return true;
} else {
System.out.println("账户余额不足,房租支付失败");
return false;
}
}
@Override
public String toString() {
return super.toString() +
"\n会员等级='" + level + '\'' +
", 会员折扣=" + discount +
", 会员积分=" + point;
}
}
阅读全文