面向对向 第6章

课后练习5:
package six_c5;

public interface Eatable {
	String eat();
}

package six_c5;

public interface FlyingDiscCatchable {
	String catchingFlyDisc();
}

package six_c5;

public interface Swimmable {
	String swim();
}

package six_c5;

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();
}

package six_c5;

public class Penguin extends Pet implements Eatable, Swimmable {
	Eatable eat;
	Swimmable swim;
	public void setEat(Eatable eat) {
		this.eat = eat;
	}
	public String eat() {
		return "吃鱼";
	}
	public void setSwimmable(Swimmable swim) {
		this.swim = swim;
	}
	public String swim() {
		return "游泳";
	}
	public void print() {
		System.out.println("企鹅"+super.getName()+"的健康值为"+super.getHealth()+",的亲密度为"+super.getLove());
		System.out.println(super.getName()+"喜欢"+eat()+",喜欢"+swim());
	}
}

package six_c5;

public class Dog extends Pet implements Eatable, FlyingDiscCatchable {
	Eatable eat;
	FlyingDiscCatchable fly;
	public void setEat(Eatable eat) {
		this.eat = eat;
	}
	public String eat() {
		return "吃骨头";
	}
	public void setFly(FlyingDiscCatchable fly) {
		this.fly = fly;
	}
	public String catchingFlyDisc() {
		return "接飞盘";
	}
	public void print() {
		System.out.println("狗狗"+super.getName()+"的健康值为"+super.getHealth()+",的亲密度为"+super.getLove());
		System.out.println(super.getName()+"喜欢"+eat()+",喜欢"+catchingFlyDisc());
	}
}

package six_c5;

public class Test {
	public static void main(String[] args) {
		Penguin pgn = new Penguin();
		pgn.setName("丫丫");
		pgn.setHealth(100);
		pgn.setLove(50);
		pgn.print();
	}
}

课后练习4:
package six_c3;

public class Cat implements Animal{
	public void shout() {
		System.out.println("喵 喵!");
	}
}

package six_c3;

public class Pig implements Animal{
	public void shout() {
		System.out.println("嗯 嗯!");
	}
}

package six_c3;

public class Dog implements Animal{
	public void shout() {
		System.out.println("汪 汪!");
	}
}

package six_c3;

public interface Animal {
	void shout();
}

package six_c3;

public class Store {
	public static Animal get(String choice) {
		if(choice.equals("dog")) {
			return new Dog();
		}else if(choice.equals("cat")){
			return new Cat();
		}else{
			return new Pig();
		}
	}
}

package six_c3;

public class AnimalTest {
	public static void main(String[] args) {
		Animal a1 = Store.get("pig");
		a1.shout();
	}
}

猜你喜欢

转载自blog.csdn.net/lsxdbd/article/details/80190407