JAVA实验五 继承和接口

1、设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下:
 编写抽象类Animal
Animal抽象类有2个抽象方法cry()和getAnimaName(),即要求各种具体的动物给出自己的叫声和种类名称。
 编写模拟器类Simulator
该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry()方法播放具体动物的声音、调用子类重写的getAnimalName()方法显示动物种类的名称。
 编写Animal类的子类:Dog,Cat类
图5.18是Simulator、Animal、Dog、Cat的UML图。

abstract class Animal {
	abstract void cry();
	abstract String getAnimalName();
}
class Dog extends Animal {
	void cry() {
		System.out.println("汪汪!");
	}
	String getAnimalName() {
		return "狗";
	}
}
class Cat extends Animal {
	void cry() {
		System.out.println("喵喵!");
	}
	String getAnimalName() {
		return "猫";
	}
}
class Simulator {
	void playSound(Animal animal) {
		String name = animal.getAnimalName();
		System.out.println(name);
		animal.cry();
	}
}
public class Application {
	public static void main(String[] args) {
		Simulator simulator = new Simulator();
		simulator.playSound(new Dog());
		simulator.playSound(new Cat());
	}
}

2、编写名为IParent的接口,其中声明add(String s1,String s2)和minus(String s1,String s2)方法,返回值均为int型;编写Child类继承IParent接口,并实现add和minus方法,要求当主方法中执行如下代码时:

interface IParent {
	int add(String s1, String s2);
	int minus(String s1, String s2);
}
class Child implements IParent {
	public int add(String s1, String s2) {
		int i = Integer.parseInt(s1);
		int j = Integer.parseInt(s2);
		return i + j;
	}
	public int minus(String s1, String s2) {
		int i = Integer.parseInt(s1);
		int j = Integer.parseInt(s2);
		return i - j;
	}
}
public class exc2 {
	public static void main(String[] args) {
		IParent c=new Child();
		System.out.println(c.add("12", "34"));
		System.out.println(c.minus("123", "12"));
	}
}

仅作留档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值