Java 面向物件例項:人寵遊戲
阿新 • • 發佈:2019-01-23
package com.neusoft.Play; public class Master { public void play(Pet pet){ if(pet instanceof Dog){ Dog dog = (Dog) pet; dog.play(pet); dog.state(); }else{ Penguin penguin = (Penguin) pet; penguin.play(pet); penguin.state(); } } public static void main(String[] args) { Master master = new Master(); Pet pet = new Penguin(); master.play(pet);; } }
package com.neusoft.Play; public abstract class Pet { private String name; private int health; private int lovey; 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 getLovey() { return lovey; } public void setLovey(int lovey) { this.lovey = lovey; } public abstract void play(Pet pet); public abstract void state(); }
package com.neusoft.Play; public class Dog extends Pet { public void play(Pet pet) { System.out.println("狗狗玩接飛盤遊戲"); } @Override public void state() { this.setName("Dexter"); this.setHealth(80); this.setLovey(60); System.out.println(getName()+"健康值減少10:health="+(getHealth()-10)); System.out.println("與主人親密度增加5:lovey="+(getLovey()+5)); } }
package com.neusoft.Play;
public class Penguin extends Pet {
public void play(Pet pet) {
System.out.println("企鵝玩游泳遊戲");
}
@Override
public void state(){
this.setName("Lucky");
this.setHealth(80);
this.setLovey(60);
System.out.println(getName()+"健康值減少10:health="+(getHealth()-10));
System.out.println("與主人親密度增加5:lovey="+(getLovey()+5));
}
}