首页 > 分享 > java多态

java多态

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
下一篇: 青灵诛心