需求
请采用多态的思想实现猫和狗的案例
思路
1、定义动物类Animal
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set()方法,吃饭()
2、定义猫类Cat,继承动物类
构造方法:无参,带参
成员方法:重写吃饭()
3、定义狗类Dog,继承动物类
构造方法:无参,带参
成员方法:重写吃饭()
4、定义测试类AnimalDemo
测试
代码示例
1、定义动物类Animal
public class Animal {
private String name;
private int age;
public Animal() {
}
public Animal(String name, int age) {
this.name = name;
this.age = 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 void eat(){
System.out.println("吃法");
}
}
2、定义猫类Cat,继承动物类
public class Cat extends Animal{
public Cat() {
}
public Cat(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
3、定义狗类Dog,继承动物类
public class Dog extends Animal {
public Dog() {
}
public Dog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
4、定义测试类AnimalDemo
测试
public class AnimalDome {
public static void main(String[] args) {
//创建猫类对象进行测试
Animal a1 = new Cat();
a1.setName("加菲猫");
a1.setAge(5);
System.out.println(a1.getName()+","+a1.getAge());
a1.eat();
//创建狗类对象进行测试
Animal a2=new Dog();
a2.setName("哈巴狗");
a2.setAge(4);
System.out.println(a2.getName()+","+a2.getAge());
a2.eat();
}
}