面向对象编程的汽车租赁系统
package com.my.rentalcar;
//汽车类(亲戚) )。
公共类自动{
//车牌日租金private String aNum; 私有字符串; 私有返回; //生成方法:生成子类对象时,从super获取公共自动({ }公共自动) stringanum、String brand、int rent ) { this.anum this.brand=brand; this.rent=rent; }public String getaNum () {return aNum; }publicvoidsetanum(stringanum ) {this.aNum=aNum; }public String getBrand () {return brand; } publicvoidsetbrand (string brand ) {this.brand=brand; }公共获取() {return rent; }publicvoidsetrent(intrent ) {this.rent=rent; //定义抽象方法并计算租金publicabstractfloattotalprice (intdays ); }
package com.my.rentalcar;
//汽车业务类
公共类自动业务{
publicfinalstaticautomobile [ ] automobiles=new automobile [8]; //汽车//public void init () static )//初始化多态性,父类引用为子类对象automobiles(0)=newcar,'京NY28588 ',' BMW ',父类引用Automobiles[1]=new Car (北京CNY3284、宝马、600、550i ); Automobiles[2]=new Car ('京NT37465 ','别克',300,'林荫大道'); Automobiles[3]=new Car ('京NT96968 ','别克',600,' GL8 ' ); Automobiles[4]=new Bus ('京6566754 ','金杯',800,16 ); Automobiles[5]=new Bus ('京9696996 ','金杯',1500,34 ); Automobiles[6]=new Bus ('京8696997 ','金龙',800,16 ); Automobiles[7]=new Bus ('京8696998 ','金龙',1500,34 ); //租车方法publicautomobilerentalautomobile (string brand,int seatnum,String type ) {Automobile a=null; //基于用户输入的信息,遍历数组,对应的汽车返回给用户的自动附件(for ) 下变频)强烈改变automobile轿车品牌和型号与用户期望的匹配if(car.getbrand ).equals(brand ) car.gettype.equals 黑; (else )//向下转换:强烈地将automobile转换为busbus=(bus ) automobile; //客车品牌和型号按用户要求的if(bus.getbrand(.equals ) brand (bus.getseatnum ) )==seatnum ) {a=bus; 黑; }}}return a; }
package com.my.rentalcar;
//轿车类(子类) )
publicclassbusextendsautomobile {
//公共汽车座位数private int seatnum; public bus ({ } public bus (stringa num,String brand,int rent,int seatnum ) { super } anum,brand,rent; //调用父类的带参数的结构方法this.seat num=seat num } public int getseatnum () {return seatnum; } publicvoidsetseatnum (intseatnum ) {this.seatnum=seatnum; //重写父级计算租金的抽象方法,客车车型折扣超出总额publicfloattotalprice(intdays )//折扣范围时价格=日租金*天数float price=this.getRent /
/在折扣范围内时if(days>=3 && days<7) {price = price * 0.9f;}else if(days>=7 && days<30) {price = price * 0.8f;}else if(days>=30 && days<150) {price = price * 0.7f;}else if(days>=150) {price = price * 0.6f;}return price;}}
package com.my.rentalcar;
//轿车类(子类)
public class Car extends Automobile{
}
package com.my.rentalcar;
import java.util.Scanner;
//汽车租赁管理类
public class RentalAutomobile {
public static void main(String[] args) {
//System.out.println(AutomobileBusiness.Automobiles[0].getClass());
Scanner input = new Scanner(System.in);
AutomobileBusiness Auto = new AutomobileBusiness();
System.out.println(“欢迎光临利民汽车租赁公司”);
System.out.print(“请选择您要租赁的车型(1、轿车 2、客车):”);
int AutoType = 0;
do{
if(input.hasNextInt())
{
AutoType = input.nextInt();
break;
}
else{
input.next();
System.out.print(“输入有误,请重新输入:”);
}
}while(true);
//获得用户输入的条件
String brand = “”;
int seatnum = 0;
String type = “”;
}