继承练习题

实验 类的继承,super
1、写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),返回月利率的方法getMonthlyInterest(),取款方法withdraw(),存款方法deposit()。
Account
private int id
private double balance
private double annualInterestRate
public Account (int id, double balance, double annualInterestRate )
public int getId()
public double getBalance()
public double getAnnualInterestRate()
public void setId( int id)
public void setBalance(double balance)
public void setAnnualInterestRate(double annualInterestRate)
public double getMonthlyInterest()
public void withdraw (double amount)
public void deposit (double amount)
写一个用户程序测试Account类。在用户程序中,创建一个账号为1122、余额为20000、年利率4.5%的Account对象。使用withdraw方法提款30000元,并打印余额。
再使用withdraw方法提款2500元,使用deposit方法存款3000元,然后打印余额和月利率。

提示:在提款方法withdraw中,需要判断用户余额是否能够满足提款数额的要求,如果不能,应给出提示。
运行结果如图所示:

2、创建Account类的一个子类CheckAccount代表可透支的账户,该账户中定义一个属性overdraft代表可透支限额。在CheckAccount类中重写withdraw方法,其算法如下:
如果(取款金额<账户余额),
可直接取款
如果(取款金额>账户余额),
计算需要透支的额度
判断可透支额overdraft是否足够支付本次透支需要,如果可以
将账户余额修改为0,冲减可透支金额
如果不可以
提示用户超过可透支额的限额

要求:写一个用户程序测试CheckAccount类。在用户程序中,创建一个账号为1122、余额为20000、年利率4.5%,可透支限额为5000元的CheckAccount对象。
使用withdraw方法提款5000元,并打印账户余额和可透支额。
再使用withdraw方法提款18000元,并打印账户余额和可透支额。
再使用withdraw方法提款3000元,并打印账户余额和可透支额。

提示:
(1) 子类CheckAccount的构造方法需要将从父类继承的3个属性和子类自己的属性全部初始化。
(2) 父类Account的属性balance被设置为private,但在子类CheckAccount的withdraw方法中需要修改它的值,因此应修改父类的balance属性,定义其为protected。

运行结果如下图所示:

练习1(基础):
(1)编写一个圆类Circle,该类拥有:
①一个成员变量
Radius(私有,浮点型); // 存放圆的半径;
②两个构造方法
Circle( ) // 将半径设为0
Circle(double r ) //创建Circle对象时将半径初始化为r
③ 三个成员方法
double getArea( ) //获取圆的面积
double getPerimeter( ) //获取圆的周长
void show( ) //将圆的半径、周长、面积输出到屏幕
(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:
①一个成员变量
double hight(私有,浮点型); // 圆柱体的高;
②构造方法
Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r
③ 成员方法
double getVolume( ) //获取圆柱体的体积
void showVolume( ) //将圆柱体的体积输出到屏幕
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并显示圆半径、圆面积、圆周长,圆柱体的体积。

2.定义一个人的类(属性有名字,年龄,性别。写一个能输出各个属性值的方法showInfo()),定义一个学生类(属性有学号),学生继承人类,要求:
(1)父类的属性赋值用构造方法来实现(分别用有参数构造方法和无参数构造方法实现);
(2)子类的属性也用构造方法来赋值;
(3)在子类中重写父类的showInfo()方法
(4)声明学生类的对象,调用学生的显示信息的方法。
3、请编码实现动物世界的继承关系:
动物(Animal)具有行为:吃(eat)、睡觉(sleep)、移动(move)
动物包括:兔子(Rabbit),老虎(Tiger),鹰(eagle)
这些动物吃、移动的行为各不相同(eat,move动作不同);但睡觉的行为是一致的。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.定义一个人的属性有名字,年龄,性别。一个能输出各个属性值的方法showInfo()),定义一个学生属性有学号),学生继承,要求: (1)父属性赋值用构造方法来实现(分别用有参数构造方法和无参数构造方法实现); (2)子属性也用构造方法来赋值; (3)在子中重的showInfo()方法 (4)声明学生的对象,调用学生的显示信息的方法。 2、请编码实现动物世界的继承关系: 动物(Animal)具有行为:吃(eat)、睡觉(sleep)、移动(move) 动物包括:兔子(Rabbit),老虎(Tiger),鹰(eagle) 这些动物吃、移动的行为各不相同(eat,move动作不同);但睡觉的行为是一致的。 3、(1)设计一个表示二维平面上点的Point,包含有表示坐标位置的protected型的,成员变量x和y,获取和设置x和y值的public方法。 (2)设计一个表示二维平面上圆的Circle,它继承Point,还包含有表示圆半径的protected型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。 (3)设计一个表示圆柱体的Cylinder,它继承Circle,还包含有表示圆柱体高的protected型的成员变量h、获取和设置h值的public方法、计算圆柱体体积的public方法。 (4)建立Cylinder对象,输出其轴心位置坐标、半径、面积、高及其体积的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值