- 案例:猫和狗
需求:请采用抽象类的思想实现猫和狗的案例,并在测试类中进行测试。
分析:
(1)定义动物类(Animal)
成员变量:姓名、年龄;
构造方法:无参、带参
成员方法:get/set方法,吃饭();
(2)定义猫类(Cat),继承动物类
构造方法:无参、带参
成员方法:重写吃饭(……)
(3)定义狗类(Dog),继承动物类
构造方法:无参、带参
成员方法:重写吃饭(……)
(4)定义测试类(AnimalDemo),写代码测试
完整代码:
package abstext;
public abstract class Animal {
private int age;
private String name;
public Animal() {
}
public Animal(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract void eat();
}
package abstext;
public class Cat extends Animal{
public Cat() {
}
public Cat(int age, String name) {
super(age, name);
}
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
package abstext;
public class Demo {
public static void main(String[] args) {
Animal a = new Cat();
a.setName("mimi");
a.setAge(3);
System.out.println(a.getName()+","+a.getAge());
Animal a1 = new Cat(5,"titi");
System.out.println(a1.getName()+","+a1.getAge());
}
}
运行结果:
mimi,3
titi,5