package com.pet;
public abstract class Pet {
private String name = "无名氏";
private int health = 90;
protected int love = 0;
public abstract void eat();
public Pet(){
}
public Pet(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public void setHealth(int health) {
this.health = health;
}
public void setLove(int love) {
this.love = love;
}
public String getName() {
return name;
}
public int getHealth() {
return health;
}
public int getLove() {
return love;
}
public void print() {
System.out.println("宠物的自白:n我的名字叫" + this.name +
",健康值是"+ this.health + ",和主人的亲密度是"
+ this.love + "。");
}
}
package com.pet;
public class Penguin extends Pet {
private String sex;
public Penguin(String name, String sex) {
super(name);
this.sex = sex;
}
public String getSex() {
return sex;
}
public void print() {
super.print();
System.out.println("性别是 " + this.sex + "。");
}
public void eat() {
if(getHealth()>=100){
System.out.println("企鹅"+this.getName() +"吃饱了,不需要喂食了!");
}else{
this.setHealth(this.getHealth()+5);
System.out.println("企鹅"+this.getName() + "吃饱啦!健康值增加3。");
}
}
public void swimming() {
System.out.println("企鹅" + this.getName() + "正在游泳。");
this.setHealth(this.getHealth()-10);
this.setLove(this.getLove()+5);
}
}
package com.pet;
public class Dog extends Pet {
private String strain;
public Dog(String name, String strain) {
super(name);
this.strain = strain;
}
public String getStrain() {
return strain;
}
public void print(){
super.print();
System.out.println("我是一只 " + this.strain + "。");
}
public void eat() {
if(getHealth()>=100){
System.out.println("狗狗"+this.getName() +"吃饱了,不需要喂食了!");
}else{
this.setHealth(this.getHealth()+3);
System.out.println("狗狗"+this.getName() + "吃饱啦!健康值增加3。");
}
}
public void catchingFlyDisc() {
System.out.println("狗狗" + this.getName() + "正在接飞盘。");
this.setHealth(this.getHealth()-10);
this.setLove(this.getLove()+5);
}
}
package com.pet;
public class Master {
private String name = "";
private int money = 0;
public Master(String name, int money) {
this.name = name;
this.money = money;
}
public void setName(String name) {
this.name = name;
}
public void setMoney(int money) {
this.money = money;
}
public int getMoney() {
return money;
}
public String getName() {
return name;
}
public void feed(Pet pet) {
pet.eat();
}
public Pet getPet(int typeId){
Pet pet=null;
if(typeId==1){
pet= new Dog("欧欧", "雪娜瑞");
}else if(typeId==2){
pet = new Penguin("楠楠", "Q妹");
}
return pet;
}
public void play(Pet pet) {
if (pet instanceof Dog) {
Dog dog = (Dog) pet;
dog.catchingFlyDisc();
}
else if (pet instanceof Penguin) {
Penguin pgn = (Penguin) pet;
pgn.swimming();
}
}
public static void main(String[] args) {
Master master = new Master("", 1);
}
}
package com.pet;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Master master=new Master("Mr王",100);
Scanner input = new Scanner(System.in);
System.out.println("欢迎您来到宠物店!");
System.out.print("请选择要领养的宠物类型:(1、狗狗 2、企鹅)");
int typeId=input.nextInt();
Pet pet=master.getPet(typeId);
if(pet!=null){
System.out.println("领养成功!");
master.feed(pet);
master.play(pet);
}else{
System.out.println("对不起,没有此类型的宠物,领养失败");
}
}
}
相关知识
Java笔记:多态polymorphic
java 多态
多态
举例理解java的多态,通俗,易懂
Object类、多态
使用多态实现主人领养宠物并与宠物玩耍
编写程序模拟“主人”喂养“宠物”的场景,利用多态的思想。
java测试类pet
多态使用案例
java练习题
网址: java多态 https://m.mcbbbk.com/newsview156447.html
上一篇: 宠物医疗APP创业规划策划书.d |
下一篇: 青灵诛心 |