多态
一、方法的重写
类Pet (宠物)
字段:name --宠物的名字 / masterName --主人的名字;
构造函数:Pet--设置宠物和主人的名字;
方法:
getName---确认宠物名字的方法(name的getter方法)
getMasterName---确认主人名字的方法(masterName的getter方法)
introduce ---进行自我介绍的方法[如图]:
类RobotPet (机器人类型的宠物)
字段:继承类Pet的字段(name和masterName);
构造函数:RobotPet---设置宠物和主人的名字,通过调用super()将设置处理委托给超类Pet的构造函数;
方法:introduce --- 进行自我介绍的方法,并不继承类Pet中的处理, 而是进行重写
work--- 做家务的方法,家务种类(打扫/洗衣服/做饭)通过参数指定为数值0、1、2
类RobotPet和类Pet的方法之间的关系们纳如下:
• 直接继承---getName、getMasterName
• 重写--- introduce
• 新添加--- work
// 宠物类
class Pet {
private String name; // 宠物的名字
private String masterName; // 主人的名字
// 构造函数
public Pet(String name, String masterName) {
this.name = name; // 宠物的名字
this.masterName = masterName; // 主人的名字
}
// 确认宠物的名字
public String getName() { return name; }
// 确认主人的名字
public String getMasterName() { return masterName; }
// 自我介绍
public void introduce() {
System.out.println("■我的名字是" + name + "!");
System.out.println("■我的主人是" + masterName + "!");
}
}
class RobotPet extends Pet {
// 构造函数
public RobotPet(String name, Stri