多态练习题-第十二天

该博客介绍了如何使用多态特性来实现不同的功能。首先展示了如何创建黑白和彩色打印机,通过多态实现不同打印效果。接着,通过扩展Pet类,增加了与主人玩接飞盘或游泳的游戏,使狗和企鹅的健康值和亲密度发生变化。此外,还讨论了一个汽车租赁系统的实现,包括不同车型的租金计算,如宝马、别克商务舱和金龙大巴,以及新增加的卡车租赁服务,根据吨位计算租金。
摘要由CSDN通过智能技术生成
  1. 用多态实现打印机
    分为黑白打印机和彩色打印机
    不同类型的打印机打印效果不同

具体实现代码
1.Print

package com.hpe.java;

public class Print {
   

	public void print(){
   
		System.out.println("打印!");
	}
}

2.PrintBlack

package com.hpe.java;

/**
 * 1. 用多态实现打印机
分为黑白打印机和彩色打印机
不同类型的打印机打印效果不同
 * @author yang
 *
 */

public class PrintBlack extends Print{
   

	public void print(){
   
		System.out.println("我是黑白打印机");
	}
}

3.PrintColor

package com.hpe.java;

public class PrintColor {
   

	public void print(){
   
		System.out.println("我是彩色打印机");
	}
}

4.TestPrint

package com.hpe.java;

public class TestPrint {
   

	public static void main(String[] args) {
   
		PrintBlack b=new PrintBlack();
		b.print();
		PrintColor c=new PrintColor();
		c.print();

	}

}

2、在课上案例的基础上实现与宠物玩耍功能
需求说明:
主人和狗狗玩接飞盘游戏,狗狗健康值减少10,与主人亲密度增加5
主人和企鹅玩游泳游戏,企鹅健康值减少10,与主人亲密度增加5
提示:
Dog类添加catchingFlyDisc()方法,实现接飞盘功能
Penguin类添加swimming()方法,实现游泳功能
主人添加play(Pet pet)方法
如果pet代表Dog就玩接飞盘游戏
如果pet代表Penguin就玩游泳游戏
具体实现代码
1.Dog

package com.hpe.java1;
/**
 * 2、在课上案例的基础上实现与宠物玩耍功能
需求说明:
主人和狗狗玩接飞盘游戏,狗狗健康值减少10,与主人亲密度增加5
主人和企鹅玩游泳游戏,企鹅健康值减少10,与主人亲密度增加5
提示:
Dog类添加catchingFlyDisc()方法,实现接飞盘功能
Penguin类添加swimming()方法,实现游泳功能
主人添加play(Pet pet)方法
如果pet代表Dog就玩接飞盘游戏
如果pet代表Penguin就玩游泳游戏
 * @author yang
 *
 */

public class Dog extends Pet{
   

	public void catchingFlyDisc(){
   
		super.health=super.health+10;
		super.intimacy=super.intimacy+5;
		System.out.println("接飞盘");
	}
	public Dog(int health,int intimacy){
   
		super(health,intimacy);
	}
}

2.Host

package com.hpe.java1;

public class Host {
   

	public void play(Pet p){
   
		if(p instanceof Dog){
   
			((Dog) p).catchingFlyDisc();
		}else if(p instanceof Penguin){
   
			((Penguin) p).swimming();
		}
	}
}

3.Penguin

package com.hpe
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值