用多态写一个租赁公司的出租信息

父类:MotoVehicle

public abstract class MotoVehicle {

String no;

String brand;

String color;

String mileage;

int days;

public abstract float CalcRent(int days); }

子类1:Car

public final class Car extends MotoVehicle {

String type;

@Override

public float CalcRent(int days) {

float rent = 0;

if(type.equals("别克商务舱GL8")){

rent = 600*days;

}else if(type.equals("宝马550i")){

rent = 500*days;

}else if(type.equals("别克林荫大道")){

rent = 300*days;

}

return rent;

}

public Car() {

super();

}

public Car(String type) {

super();

this.type = type;

}

}

子类2:Bus

public final class Bus extends MotoVehicle {

int seatcount;

@Override

public float CalcRent(int days) {

float rent = 0;

if(seatcount<=16){

rent = 800*days;

}else{

rent = 1500*days;

}

return rent;

}

public Bus() {

super();

}

public Bus(int seatcount) {

super();

this.seatcount = seatcount;

}

}

测试类:MotoVehicleText

import java.util.Scanner;

public class MotoVehicleText {

public static void main(String[] args) {

String kind;

float rent = 0;

Scanner input = new Scanner(System.in);

System.out.println("请输入租车的种类");

kind = input.next();

if(kind.equals("car")){

Car a = new Car();

System.out.println("请输入租车时间:");

a.days = input.nextInt();

System.out.println("请输入租车的型号:");

a.type = input.next();

rent = a.CalcRent(a.days);

}else if(kind.equals("bus")){

Bus b = new Bus();

System.out.println("请输入租车时间:");

b.days = input.nextInt();

System.out.println("请输入租车的座位数:");

b.seatcount = input.nextInt();

rent = b.CalcRent(b.days);

}

System.out.println("您的租车费用为"+rent);

input.close();

}

}

时间: 2024-10-13 05:59:33

用多态写一个租赁公司的出租信息的相关文章

用C语言写一个链表储存学生信息

题目 已知学生基本信息由学号(长整型).姓名(字符数组).性别(字符型).年龄(整型)组成.编程实现:建立一个结点按学号顺序存储学生信息的单向链表,并实现依据学号对链表的添加.修改.删除和检索功能:添加新结点后,应继续保持结点按学号顺序的链接方式.分别定义函数实现链表的初始化.链表的打印输出.以及在链表中添加.修改.删除和检索节点的功能. 基本思路 建立单向链表,存储学生数据,用不同函数实现上述功能,在主函数中调用函数进行操作. 代码实现 定义结构体类型存储信息 struct STUDENT_N

使用VB6写一个自定义的进度信息框窗口

一.起因说明 之前有些项目是用Access完成的,当时为了给用户显示一些进度信息,自制了一个进度信息窗体,类似下图所示: 随着项目不断变迁,需要将进度信息按阶段及子进度进行显示,并且出于代码封装的需求,需要将其封装到一个dll文件中.最终完成的效果如下图: 调用该进度信息框的代码类似如下所示: 1 Private Sub cmdCommand1_Click() 2 Dim pb As New CProgressBar 3 pb.AddStage "第一步", 10000 4 pb.Ad

有五个学生,每个学生有3门课(语文、数学、英语)的成绩, * 写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩)

/* * 3. 有五个学生,每个学生有3门课(语文.数学.英语)的成绩, * 写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩), * 然后把输入的学生信息按总分从高到低的顺序写入到一个名称"stu.txt"文件中. * 要求:stu.txt文件的格式要比较直观,打开这个文件,就可以很清楚的看到学生的信息 * */ import java.io.*; import java.util.*; public class Test3 { publi

python 学习笔记 12 -- 写一个脚本获取城市天气信息

最近在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么能够显示后最重要的就是显示什么的问题了.最容易想到的就是显示时间啊,CPU利用率啊,IP地址之类的.那么我觉得呢,如果能够显示当前时间.温度也是甚好的,作为一个桌面小时钟还是很精致的. 1. 目前有哪些工具 目前比较好用的应该是 weather-util, 之前我获取天气信息一般都是通过它. 使用起来也很简单: (1) Debian/Ubuntu 用户使用 sudo apt-get install weather-util 安装

写一个框架的详细步骤

定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等. 如果你打算写框架,那么肯定心里已经有一个初步的定位,比如它是一个缓存框架.Web MVC框架.IOC框架.ORM/数据访问框架.RPC框架或是一个用于Web开发的全栈式框架. 是 否要重复造轮子?除非是练手项目,一般我们是有了解决不了问题的时候才会考虑不使用既有的成熟的框架而重复造轮子的,这个时候需要列出新框架主

如何写一个框架

定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等. 如果你打算写框架,那么肯定心里已经有一个初步的定位,比如它是一个缓存框架.Web MVC框架.IOC框架.ORM/数据访问框架.RPC框架或是一个用于Web开发的全栈式框架. 是否要重复造轮子?除非是练手项目,一般我们是有了解决不了问题的时候才会考虑不使用既有的成熟的框架而重复造轮子的,这个时候需要列出新框架主要

Webpack-源码三,从源码分析如何写一个plugin

经过上一篇博客分析webpack从命令行到打包完成的整体流程,我们知道了webpage的plugin是基于事件机制工作的,这样最大的好处是易于扩展.社区里很多webpack的plugin,但是具体到我们的项目并不一定适用,这篇博客告诉你如何入手写一个plugin,然后分析源码相关部分告诉你你的plugin是如何工作.知其然且知其所以然. 该系列博客的所有测试代码. 从黑盒角度学习写一个plugin 所谓黑盒,就是先不管webpack的plugin如何运作,只去看官网介绍. Compiler和Co

python 写一个FTPsever 和FTPclient

作业要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp server上随意切换目录 允许用户查看当前目录下文件 允许上传和下载文件,保证文件一致性 文件传输过程中显示进度条 附加功能:支持文件的断点续传 作业分析: 用户加密认证 客户端给服务端发生账号密码认证即可,认证成功进入即可,再安全就链接后验证一下客户端的一个编码 2.   允许同时多用户登录 服务端需要使用多进程,使用socketser

基于zabbix用Python写一个运维流量气象图

前言:同事问我,你写运维平台最先写哪一部分?好吧,还真把我问倒了,因为这是在问最应该放在放在第一位的东西~作为一个工作不足两年,运维不足一年的新手来说,还真不敢妄下评论,其实按照我的思路,觉得最重要的部分肯定是故障处理,报警,但是这一块怎么写?怎么说?肯定不能重复造轮子了,不过我最想写的是报表系统,思路是有的,但是一直耽搁了,详情参考http://youerning.blog.51cto.com/10513771/1708925. 好吧,在回到那个问题,应该先写哪个部分.我没回答,反问他了. 他