面向对象第六章课后作业
1.进行功能扩展
package homework;
public interface Animal {
void shout();
}
package homework;
public class Dog implements Animal {
@Override
public void shout() {
System.out.println("W W");
}
}
package homework;
public class Cat implements Animal {
@Override
public void shout() {
System.out.println("M M");
}
}
package homework;
public class Pig implements Animal {
@Override
public void shout() {
System.out.println("U U");
}
}
package homework;
public class Store {
public static Animal get(String choice) {
if (choice.equalsIgnoreCase("pig")) {
return new Pig();
}else {
return new Cat();
}
}
}
package homework;
public class AnimalTest {
public static void main(String[] args) {
Animal a = Store.get("pig");
a.shout();
}
}
2.宠物系统的类结构进行重构
package homework;
public interface Eatable {
void eat();//吃饭功能
}
package homework;
public interface FlyingDiscCahable {
void catchingFlyDisc();//接飞盘功能
}
package homework;
public interface Swimmable {
void swim();//游泳
}
package homework;
public abstract class Pet {
String names="无名氏";
int health = 100;
int love = 50;
public String getNames() {
return names;
}
public void setNames(String names) {
this.names = names;
}
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 homework;
public class Dog1 extends Pet implements Eatable,FlyingDiscCahable{
public Dog1(String names,int health,int love) {
super();
this.setNames(names);
this.setHealth(health);
this.setLove(love);
}
@Override
public void print() {
System.out.println("宠物的自白:"
+ "\n狗狗的名字叫"+this.getNames()+
"健康值是"+this.getHealth()+
"与主人的亲密度是"+this.getLove());
}
@Override
public void catchingFlyDisc() {
System.out.println("狗狗在玩飞盘");
}
@Override
public void eat() {
System.out.println("狗狗在吃饭");
}
}
package homework;
public class Pengui extends Pet implements Eatable, Swimmable {
public Pengui(String names,int health,int love) {
super();
this.setNames(names);
this.setHealth(health);
this.setLove(love);
}
@Override
public void swim() {
System.out.println("企鹅在游泳");
}
@Override
public void eat() {
System.out.println("企鹅在吃东西");
}
@Override
public void print() {
System.out.println("宠物的自白:"
+ "\n企鹅的名字叫"+this.getNames()+
"健康值是"+this.getHealth()+
"与主人的亲密度是"+this.getLove());
}
}
package homework;
public class TestPet {
public static void main(String[] args) {
Dog1 dog= new Dog1("欢欢",150,200);
dog.print();
dog.eat();
dog.catchingFlyDisc();
Pengui pengui = new Pengui("喜喜",99,100);
pengui.print();
pengui.eat();
pengui.swim();
}
}
面向对象第六章课后作业
最新推荐文章于 2020-06-14 13:08:17 发布