第5题
public interface Animal {
void shout();
}
public class Dog implements Animal {
public void shout() {
System.out.println("W W!");
}
}
public class Cat implements Animal {
public void shout() {
System.out.println("M M!");
}
}
public class Pig implements Animal {
public void shout() {
System.out.println("N N!");
}
}
public class Store {
public static Animal get(String animal) {
if(animal.equalsIgnoreCase("dog")) {
return new Dog();
}else if(animal.equalsIgnoreCase("pig")){
return new Pig();
}else {
return new Cat();
}
}
}
public class AnimalTest {
public static void main(String[] args) {
Animal animal = Store.get("pig");
animal.shout();
}
}
第6题 改写宠物系统
public interface Eatable {
public void eat();
}
public interface FlyingDiscCatchable {
public void catchingFlyDisc();
}
public interface Swimmable {
public void swim();
}
public abstract class Pet {
private String name;
private int health;
private int love;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
this.health = health;
}
public int getLove() {
return love;
}
public void setLove(int love) {
this.love = love;
}
public abstract void print();
}
public class Dog extends Pet implements Eatable,FlyingDiscCatchable {
public void eat() {
System.out.println("狗狗吃饭");
}
public void catchingFlyDisc() {
System.out.println("狗狗玩飞盘");
}
public void print() {
System.out.println("宠物的自白:\n我的名字叫"+this.getName()+"健康值是"+this.getHealth()+"与主人的亲密度是"+this.getLove());
}
}
public class Penguin extends Pet implements Swimmable {
public Penguin(String name,int health,int love) {
super();
this.setName(name);
this.setHealth(health);
this.setLove(love);
}
public void swim() {
System.out.println("企鹅正在游泳");
}
public void print() {
System.out.println("宠物的自白:\n我的名字叫"+this.getName()+",健康值是"+this.getHealth()+",与主人的亲密度是"+this.getLove());
}
}
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat();
dog.catchingFlyDisc();
Penguin pen = new Penguin("楠楠",100,100);
pen.swim();
pen.print();
}
}