JAVA—出租车公司租车

简介: JAVA—出租车公司租车

JAVA—出租车公司租车

样例

20201206172801847.png

题目需求

1.一个人去租车公司租车,车分为轿车、客车、电动车,轿车品牌有宝马(200)、奔驰(300)、奥拓(50)、客车品牌五菱(800)、长安(1500);电动车有雅迪(20)、艾玛(50)、阳光(80);根据租车类型、品牌、天数计算租车费用

2.每类车都需要维护,轿车维护主要是加油;客车维护是清洁,电动车维护是补胎。出租公司每天都要对车辆进行维护。轿车还需要定期保养

分析

1.有哪些类:轿车类、客车类、电动车类、宝马(车的品牌属性),车类、人类、公司类

2.类之间的关系:车类是父类,轿车、客车、电车是子类

3.每个类的属性:只要有继承关系,那么所有子类都有的属性放在父类,品牌、价格,子类还可以有自己的属性

4.每个类的行为:只要有继承关系,那么所有子类都有的行为,如果实现一样,放在父类;如果某个行为子类都有,但是实现不一样,那么写成抽象方法放到父类,子类实现


代码块

  • 车类
/*** Car类*/publicabstractclassCar {
privateStringname;
privateStringmodel;
privatedoubleprice;
publicCar() {
super();
// TODO Auto-generated constructor stub    }
publicCar(Stringname, Stringmodel, doubleprice) {
super();
this.name=name;
this.model=model;
this.price=price;
    }
publicStringgetName() {
returnname;
    }
publicvoidsetName(Stringname) {
this.name=name;
    }
publicStringgetModel() {
returnmodel;
    }
publicvoidsetModel(Stringmodel) {
this.model=model;
    }
publicdoublegetPrice() {
returnprice;
    }
publicvoidsetPrice(doubleprice) {
this.price=price;
    }
publicabstractvoidweihu();
}
  • 轿车类
/*** 轿车类*/publicclassjiaocheextendsCar{
publicjiaoche() {
super();
    }
publicjiaoche(Stringname, Stringmodel, doubleprice) {
super(name, model, price);
    }
@Overridepublicvoidweihu() {
System.out.println(this.getModel()+this.getName()+"加油完毕");
    }
}
  • 客车类
/*** 客车类*/publicclasskecheextendsCar{
publickeche() {
super();
    }
publickeche(Stringname, Stringmodel, doubleprice) {
super(name, model, price);
    }
@Overridepublicvoidweihu() {
System.out.println(this.getModel()+this.getName()+"清洁完毕");
    }
}
  • 电动车类
/***电动车类*/publicclassdiandongcheextendsCar{
publicdiandongche() {
super();
    }
publicdiandongche(Stringname, Stringmodel, doubleprice) {
super(name, model, price);
    }
@Overridepublicvoidweihu() {
System.out.println(this.getModel()+this.getName()+"补胎完毕");
    }
}
  • 公司类
/**公司类*/publicclassCompany {
publicCompany() {
super();
    }
publicvoidweihu(Carcar){
car.weihu();
    }
}
  • 人类
/***人类*/publicclassPerson {
publicintgetDay() {
returnday;
    }
publicvoidsetDay(intday) {
this.day=day;
    }
@OverridepublicStringtoString() {
returnname+", 租的车:"+car.getModel()+car.getName()+car.getPrice() +"/天,租了"+day+"天";
    }
publicCargetCar() {
returncar;
    }
publicvoidsetCar(Carcar) {
this.car=car;
    }
publicStringgetName() {
returnname;
    }
publicvoidsetName(Stringname) {
this.name=name;
    }
privateStringname;
privateCarcar;
privateintday;
publicPerson(Stringname, Carcar) {
super();
this.name=name;
this.car=car;
    }
publicPerson() {
super();
    }
publicPerson(Stringname) {
super();
this.name=name;
    }
publicPerson(Stringname, Carcar, intday) {
super();
this.name=name;
this.car=car;
this.day=day;
    }
publicvoidzuche(Carcar){
System.out.println("需要花费:"+car.getPrice()*day);
    }
}
  • 测试类
publicclassTest {
publicstaticvoidmain(String[] args) {
Companycompany=newCompany();
Car[] car= {
newdiandongche("电动车","雅迪",20),
newdiandongche("电动车","艾玛",50),
newdiandongche("电动车","阳光",80),
newkeche("客车", "五菱", 800),
newkeche("客车","长安",1500),
newjiaoche("轿车", "奥拓", 20),
newjiaoche("轿车", "奔驰", 300),
newjiaoche("轿车", "宝马", 200)
        };
Personp1=newPerson("张三");
p1.setCar(car[1]);
p1.setDay(3);
System.out.println(p1);
p1.zuche(car[1]);
company.weihu(car[1]);
    }
}



目录
相关文章
|
消息中间件 NoSQL Java
某Java程序员在外包公司每天读写删改几年后,发现跳不出来了
面试了一波Java程序员,有好几位80后的。按理说,他们有将近十年的工作开发时间,无论经验还是技术都应该称得上老司机了。着重考察了Spring中bean的后置处理器相关问题,大概是这样问的: 我:简历上写了读过Spring源码,具体读过哪些部分? 面试者:比如Spring的启动过程源码,比如扫描包、执行Bean工厂后置处理器、Bean的生成过程等 我:你说说一个Bean是怎么生成的? 面试者:Bean的生成过程就是Bean的生命周期,包括Bean的实例化、属性注入、初始化等等 我:嗯,那可以再详细说说什么是Bean的后置处理器?什么是Bean工厂的后置处理器? 面试者: 这个...
|
设计模式 算法 Java
BAT通行证!600多道各大公司必考java面试题合集+答案
![image.png](https://img-blog.csdnimg.cn/img_convert/de94c4181059ea02ffa04a13dc56b6a0.png) 最近在刷面试题,所以需要看大量的Java相关的面试题,从大量的题目中总结了很多的知识,也分享给需要的同学。
82 0
BAT通行证!600多道各大公司必考java面试题合集+答案
|
前端开发 JavaScript Java
基于Java的公司考勤系统
该系统使用Java语言,MVC模式,servlet技术,前端使用jsp视图,数据库使用mysql,系统功能完善,功能:打卡、考勤、事务管理、信息管理等。
基于Java的公司考勤系统
|
Java
Java初学者作业——分析计费规则后,编写程序输入乘坐出租车的时间和里程数,计算里程价格
Java初学者作业——分析计费规则后,编写程序输入乘坐出租车的时间和里程数,计算里程价格
600 0
Java初学者作业——分析计费规则后,编写程序输入乘坐出租车的时间和里程数,计算里程价格
|
存储 SQL Oracle
【每日打卡】深圳35家公司JAVA面试真题-数据库篇(二)
【每日打卡】深圳35家公司JAVA面试真题-数据库篇(二)
199 0
【每日打卡】深圳35家公司JAVA面试真题-数据库篇(二)
|
存储 算法 Java
毕业就在小公司躺了1年,面试大厂发现,发现不会用 Java LinkedList 没人要…
毕业就在小公司躺了1年,面试大厂发现,发现不会用 Java LinkedList 没人要…
149 0
毕业就在小公司躺了1年,面试大厂发现,发现不会用 Java LinkedList 没人要…
|
消息中间件 缓存 NoSQL
金九银十结束了,各大公司Java后端开发真题汇总,明年再战
一年一度的跳槽季又结束了,还有很多想跳槽的朋友都没能成功,还有一些正在复习准备来年再战的,有很多粉丝问有没有今年的一些面试真题、八股文、算法等.....最近抽时间为大家整理了一份各大公司Java后端开发真题汇总,虽然不能概括所有的Java问题,但是足以应付目前市面上绝大部分的Java面试了,今天这篇文章不论是从程度还是广度来讲,都已经囊括了非常多的干货知识点了。
206 0
|
消息中间件 Dubbo Java
初创公司5大Java服务困局,阿里工程师如何打破?
阿里妹导读:初创公司遇到的每一个问题都可能攸关生死。创业之初更应该总结行业的常见问题,对比方案寻找最优解。阿里巴巴地图技术专家常意在技术圈摸爬滚打数年,接触了各式各样的Java服务端架构。服务端问题见得多了,也就更能分辨出各种方案的优劣。
15630 0
|
算法 Java 大数据
我的Java秋招面经大合集(包含BAT头条网易等公司)
​ 阿里面经 阿里中间件研发面经 蚂蚁金服研发面经 岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。 我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。 然后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,但是没有走流程,所以面试中止了。
|
Java 应用服务中间件 程序员
Java程序员可知为何公司宁花25K重新招人,也不花20K留住老员工?
身在职场,经常会暗自打听同事工资,尤其是得知身边新入职同事的工资居然比自己高,还高出一大截时,心里自然很不平衡,一心想要离职。
1237 0