运用 Java 多态,设计缉毒犬相关类,类的关系如下:
动物类:
属性:名字、年龄。
行为:吼叫、吃饭。
狗类:
属性:名字、年龄。
行为:吼叫(汪汪叫)、吃饭(啃骨头)。
缉毒接口:
缉毒:drugsRoundUp
缉毒狗:
属性:名字、年龄。
行为:吼叫(汪汪叫)、吃饭(啃骨头)。
缉毒:用鼻子侦测毒。
动物类代码:
public abstract class Animal {
private String name;
private int age;
// 无参构造
public Animal() {
}
// 全参构造
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
// 吼叫
public abstract void bellow();
// 吃饭
public abstract void eat();
// 信息显示
public void showInfo(){
System.out.println("名字:" + name + " 年龄:" + age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
狗类代码:
public class Dog extends Animal{
// 无参构造
public Dog() {
}
// 全参构造
public Dog(String name, int age) {
super(name, age);
}
// 吼叫
@Override
public void bellow() {
System.out.println("汪汪汪");
}
// 吃饭
@Override
public void eat() {
System.out.println("啃骨头");
}
}
缉毒接口代码:
public interface DrugsRoundUp {
// 缉毒方法
void drupsRoundUp();
}
缉毒犬类代码:
public class DrugDog extends Dog implements DrugsRoundUp{
// 无参构造
public DrugDog() {
}
// 全参构造
public DrugDog(String name, int age) {
super(name, age);
}
// 缉毒
@Override
public void drupsRoundUp() {
System.out.println("用鼻子侦测毒");
}
}
测试类代码:
public class Test {
public static void main(String[] args) {
System.out.println("嗨客网(www.haicoder.net)\n");
Animal a = new DrugDog("冷锋",5);
a.showInfo();
a.eat();
a.bellow();
((DrugDog) a).drupsRoundUp();
}
}
运行结果如下图:
运用 Java 多态,设计缉毒犬相关类。