200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > java面向对象 宠物领养系统 包含继承多态的使用 抽象方法和抽象类

java面向对象 宠物领养系统 包含继承多态的使用 抽象方法和抽象类

时间:2021-01-15 15:51:48

相关推荐

java面向对象 宠物领养系统 包含继承多态的使用 抽象方法和抽象类

子类package Day412;public class Dog extends Pet {private String strain = "聪明的拉布拉多犬";//品种public Dog() {}public Dog(String name, int health, int love, String strain) {super(name, health, love);this.strain = strain;// System.out.println("子类狗狗的带参构造方法");}public String getStrain() {return strain;}public void setStrain(String strain) {this.strain = strain;}public void print() {super.print();System.out.println("我是一只" + this.strain);}public void seedoctor(){System.out.println("健康值小于50 打针 吃药");this.setHealth(60);}public void eat() {System.out.println("我是一只大狗");if (this.getHealth() >= 100) {System.out.println("我饱了不吃了");} else {int num = this.getHealth() + 5;System.out.println("我的主人是");System.out.println("吃点东西健康值+5");if (num > 100) {this.setHealth(100);System.out.println("当前健康值是"+this.getHealth());} else {this.setHealth(num);System.out.println("当前健康值是"+this.getHealth());}}}public void act(Object actt) {if (actt instanceof Dog) {System.out.println("我是狗我会游泳");}}}子类2package Day412;public class Penguin extends Pet {private String sex = "Q仔"; //性别public Penguin() {// System.out.println("企鹅无参构造方法");}public Penguin(String name, int health, int love, String sex) {super(name, health, love);this.sex = sex;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public void print() {super.print();System.out.println("我是" + this.sex);}public void seedoctor() {System.out.println("健康值小于50 吃药,疗养");this.setHealth(60);}public void eat() {System.out.println("我是小企鹅");if (this.getHealth() >= 100) {System.out.println("我饱了不吃了");} else {int num = this.getHealth() + 3;System.out.println("我的主人是张家辉");System.out.println("吃点东西健康值+3");if (num > 100) {this.setHealth(100);System.out.println("当前健康值是"+this.getHealth());} else {this.setHealth(num);System.out.println("当前健康值是"+this.getHealth());}}}public void act(Object actt) {if (actt instanceof Penguin) {System.out.println("我是企鹅我会吃鱼");}}}父类package Day412;public abstract class Pet {private String name;//昵称private int health; //健康值private int love; //亲密度public Pet() {// System.out.println("父类无参数造方法");}public Pet(String name, int health, int love) {this.name = name;this.health = health;this.love = love;// System.out.println("父类有参构造方法");}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getHealth() {return health;}public void setHealth(int health) {if (health < 0 || health > 100) {System.out.println("宠物狗狗的健康值只能在0-100之间! ");this.health = 60;return;}this.health = health;}public int getLove() {return love;}public void setLove(int love) {this.love = love;}public void print() {System.out.println("宠物的自白:\n我的名字叫" + this.name + ",健康值是" + this.health + ",和主人的亲密度是" + this.love);}public abstract void seedoctor();public abstract void eat();public abstract void act(Object actt);}主人类public class Master {public void seedoctor(Pet pet) {if (pet.getHealth() < 50) {pet.seedoctor();}}public void eats (Pet pet){pet.eat();}public void action(Pet pet){pet.act(pet);}}测试类package Day412;import java.sql.PreparedStatement;import java.util.Scanner;public class TestPet {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("欢迎您来到宠物店!");System.out.println("请输入要领养宠物的名字:");String name = sc.next();System.out.println("请输入要领养宠物的类型:1、狗狗 2、企鹅");int typeNo = sc.nextInt();switch (typeNo) {case 1:Master master = new Master();Pet dog = new Dog(name,90,10,"吉娃娃");dog.print();master.seedoctor(dog);master.eats(dog);master.action(dog);dog.print();break;case 2:Master masters = new Master();System.out.println("请选择企鹅的性别:1、Q妹 2、Q仔");int sexId = sc.nextInt();String sex = (sexId == 1) ? "Q妹" : "Q仔";System.out.println("请输入企鹅的健康值:");int health = sc.nextInt();System.out.println("请输入企鹅的亲密度:");int love = sc.nextInt();Pet penguin = new Penguin(name,health,love,sex);penguin.print();masters.seedoctor(penguin);masters.eats(penguin);masters.action(penguin);penguin.print();break;}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。