首页 分享 Java多态的应用

Java多态的应用

来源:萌宠菠菠乐园 时间:2025-01-04 16:04

最新推荐文章于 2024-03-18 21:39:26 发布

爱笑得Boy 于 2016-12-27 15:51:24 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

1.使用多态实现为宠物喂食需求说明:实现如果所示的当宠物饿了(健康值介于0至100之间时),
主人需要为宠物喂食(健康值加3,但上限不超过100),为宠物增加健康值的输出效果。

2.使用多态为宠物看病需求说明: 
(1)编写主人类(Master),添加不同的方法,根据输入的宠物类型不同,为不同的宠物看病。编写测试类验证;
(2)使用多态修改代码,为各宠物类添加看病的方法,主人类中保留一个为宠物看病方法即可,参数类型为宠物类类型。编写测试类验证输出效果如图所示。
(注意:同一个引用类型,使用不同的实例而执行不同操作就是多态;方法重写是实现多态的基础)

package cn.java.pet;

public abstract class Pet {

private String petName;

private int petHealth;

private int petLove;

public Pet(){

}

public Pet(String name){

this.petName = name;

this.petHealth = 100;

this.petLove = 0;

}

public void printInfo(){

System.out.println("我的名字叫"+this.petName+",我的健康值是"+this.petHealth+",我与主人的亲密程度是"+this.petLove);

}

public abstract void cure();

public abstract void eat();

public abstract void play();

public String getPetName() {

return petName;

}

public void setPetName(String petName) {

this.petName = petName;

}

public int getPetHealth() {

return petHealth;

}

public void setPetHealth(int petHealth) {

this.petHealth = petHealth;

}

public int getPetLove() {

return petLove;

}

public void setPetLove(int petLove) {

this.petLove = petLove;

}

}

package cn.java.pet;

public class DogPet extends Pet {

private String dogBreed;

public DogPet(String name,String breed){

super(name);

this.setDogBreed(breed);

}

public void printInfo(){

super.printInfo();

System.out.println("我是一只"+this.getDogBreed());

}

public void cure() {

if(this.getPetHealth()<= 10){

System.out.println("吃药、打针");

this.setPetHealth(this.getPetHealth() + 50);

}else{

System.out.println("主人,我很健康不需要看病.");

}

}

public void eat() {

if(this.getPetHealth()<= 100){

System.out.println("狗狗"+this.getPetName()+"吃饱啦!健康值增加3.");

this.setPetHealth(this.getPetHealth()+3);

}else{

System.out.println("狗狗"+this.getPetName()+"已经太饱啦,需要运动."+"健康值:"+this.getPetHealth());

}

}

public void play() {

System.out.println("狗狗"+this.getPetName()+"正在玩飞盘...");

this.setPetLove(this.getPetLove()+5);

this.setPetHealth(this.getPetHealth()-10);

}

public String getDogBreed() {

return dogBreed;

}

public void setDogBreed(String dogBreed) {

this.dogBreed = dogBreed;

}

}

package cn.java.pet;

public class PenguinPet extends Pet {

private String penguinSex;

public PenguinPet(String name,String sex){

super(name);

this.penguinSex = sex;

}

public void printInfo() {

super.printInfo();

System.out.println("我的性别是"+this.penguinSex);

}

public void cure() {

if(this.getPetHealth()<= 10){

System.out.println("吃药 、疗养");

this.setPetHealth(this.getPetHealth()+50);

}else{

System.out.println("主人,我很健康不需要看病.");

}

}

public void eat() {

if(this.getPetHealth()<= 100){

System.out.println("企鹅"+this.getPetName()+"吃饱啦!健康值增加5");

this.setPetHealth(this.getPetHealth()+5);

}else{

System.out.println("企鹅"+this.getPetName()+"太饱啦,需要运动!"+"健康值:"+this.getPetHealth());

}

}

public void play() {

System.out.println("企鹅"+this.getPetName()+"正在游泳...");

this.setPetLove(this.getPetLove()+5);

this.setPetHealth(this.getPetHealth()-10);

}

public String getPenguinSex() {

return penguinSex;

}

public void setPenguinSex(String penguinSex) {

this.penguinSex = penguinSex;

}

}

package cn.java.pet;

public class Master {

public void treatPet(Pet pet){

pet.cure();

}

public void GamePet(Pet pet){

pet.play();

}

public void eatPet(Pet pet){

pet.eat();

}

}

package cn.java.pet.test;

import cn.java.pet.DogPet;

import cn.java.pet.Master;

import cn.java.pet.PenguinPet;

import cn.java.pet.Pet;

public class PetTest {

public static void main(String[] args) {

Master master = new Master();

Pet dogPet = new DogPet("欧欧","雪娜瑞犬");

master.GamePet(dogPet);

dogPet.printInfo();

master.eatPet(dogPet);

dogPet.printInfo();

master.treatPet(dogPet);

dogPet.printInfo();

}

}

相关知识

java多态实现电子宠物系统
Java多态的应用
编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为
多态应用
java特性封装、抽象、继承、多态理论
多态
Java笔记:多态polymorphic
Java猫和狗(继承,多态,抽象,接口版)上
java 多态
解析java多态经典习题

网址: Java多态的应用 https://www.mcbbbk.com/newsview968426.html

所属分类:萌宠日常
上一篇: 2024版宠物猫寄养及宠物陪伴、
下一篇: 一种宠物照料系统的制作方法

推荐分享