java编写一个类book代表教材_0820 课堂作业 OOPTest

1.

在JAVA中定义一个类,在该类中有一系列的求绝对值的方法,要求使用方法重载?

2.

定义一个学生类,并将学生类的属性私有化同时为其提供公开的setter和getter,同时要求方法的参数名字要求要和属性名字一样!使用this关键字的编程!

3.

编写一个程序,用于创建一个名为Employee的父类和两个名为Manager和Director的子类,Employee类中包含三个属性和一个方法,

属性为name,basic和address,方法为show用于显示这些属性的值。

Manager类有一个称为department的附加属性。Director类有一个称为transportAllowance的附加属性。

创建包含main方法的EmployeeTest类,在main方法创建Manager和Director类的对象,并调用show方法显示其详细信息。

要求:

所有类的属性通过构造方法初始化。

name是名字、basic是基本底薪、address是地址、 transportAllowance是津贴

4.

在此前作业的基础上,进行修改。在Employee类中添加一个抽象方法以计算薪资总额。定义一个方法基于休假天数leave计算要从基本薪资中扣除的部分。计算薪资扣除部分的公式为:

lessPay=(leave<=5)?(0.25*basic):(0.5*basic)

Manager和Director类重写父类的抽象方法。

计算Manager的薪资总额totalAmount的公式为:

totalAmount=basic+houseRentAllowance+dearnessAllowance+medicalAllowance;

其中:

houseRentAllowance为basic的8%

dearnessAllowance为basic的30%

medicalAllowance为1500

计算Director的薪资总额的公式为:

totalAmount=basic+houseRentAllowance+dearnessAllowance+medicalAllowance+entertainmentAllowance

+ transportAllowance

其中:

houseRentAllowance为basic的20%

dearnessAllowance为basic的50%

medicalAllowance为4500

entertainmentAllowance为5000

改程序还应该计算应付薪资,其公式为:

NetPay=totalAmount-lessPay

请在getDescription方法中显示name,address,basic,totalAmount和netPay属性中储存的值。

5. 请通过代码封装,实现如下需求:

编写一个类Book,代表教材:

具有属性:名称(title)、页数(pageNum),其中页数不能少于200页,否则输出错误信息,并赋予默认值200

为各属性设置赋值和取值方法

具有方法:detail,用来在控制台输出每本教材的名称和页数

编写测试类BookTest进行测试:为Book对象的属性赋予初始值,并调用Book对象的detail方法,看看输出是否正确

6. 编写一个类Book3,代表教材:

具有属性:名称(title)、页数(pageNum)、类型(type)

具有方法:detail,用来在控制台输出每本教材的名称、页数、类型

具有两个带参构造方法:第一个构造方法中,设置教材类型为“计算机”(固定),其余属性的值由参数给定;第二个构造方法中,所有属性的值都由参数给定

编写测试类Book3Test进行测试:

分别以两种方式完成对两个Book3对象的初始化工作,并分别调用它们的detail方法,看看输出是否正确

7. 请编码实现动物世界的继承关系:

动物(Animal)具有行为:吃(eat)、睡觉(sleep)

动物包括:兔子(Rabbit),老虎(Tiger)

这些动物吃的行为各不相同(兔子吃草,老虎吃肉);但睡觉的行为是一致的

请通过继承实现以上需求,并编写测试类AnimalTest进行测试

8. 请编码实现如下需求:

乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin)

各种乐器的弹奏( play )方法各不相同

编写一个测试类InstrumentTest,要求:

编写方法testPlay,对各种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏

在main方法中进行测试

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值