任务3、学生喂养三种宠物:猫、狗、鸟
动物类(Animal):属性(name、age)、方法(speak、move、eat)
猫类(Cat)继承动物类,添加新方法(play)
狗类(Dog)继承动物类,添加新方法(play)
鸟类(Bird)继承动物类,添加新方法(play)
学生类(Student):属性(name)、方法(feed(animal))
package p03;
import Zhuo.Student;
/**
* 功能:狗类
* 作者:阿打莫拉作
* 日期:2022年05月12日
*/
public class Dog extends Animal {
@Override
public void move() {
System.out.println("狗崽["+getName()+"]在蹦跳。");
}
@Override
public void eat() {
System.out.println("[狗崽"+getName()+"]爱吃骨头。");
}
//子类添加新的方法
public void play(){
System.out.println("[狗崽"+getName()+"]在玩飞盘。");
}
}
package p03;
/**
* 功能:
* 作者:阿打莫拉作
* 日期:2022年05月12日
*/
public class Stuent {
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public void feed(Animal animal) {
if (animal instanceof Cat) { //判断是否是猫实例
System.out.println(name + "喂养猫咪[" + animal.getName() + "]。");
}else if(animal instanceof Dog){ //判断是否是狗实例
System.out.println(name + "喂养狗崽[" + animal.getName() + "]。");
}else if (animal instanceof Bird){ //判断是否是鸟实例
System.out.println(name + "喂养鸟儿[" + animal.getName() + "]。");
}else {
System.out.println(name + "喂养动物[" + animal.getName() + "]。");
}
animal.speak();//子类继承了父类的方法
animal.move();//体现多态(子类改写了父类的同名同参法)
animal.eat();//体现多态(子类改写了父类的同名同参法)
}
}
package p03;
/**
* 功能:学生类
* 作者:阿打莫拉作
* 日期:2022年05月18日
*/
public class Student01 {
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public void feedCat(Cat cat){
}
public void feedGod(Dog dog){
}
public void feedBird(Bird bird){
}
}