1. 案例:猫和狗
需求:
请采用多态的思想实现猫和狗的案例,并在测试类中进行测试。
分析:
(1)定义动物类(Animal)
成员变量:姓名、年龄;
构造方法:无参、带参
成员方法:get/set方法,吃饭()
(2)定义猫类(Cat),继承动物类
构造方法:无参、带参
成员方法:重写吃饭()
(3)定义狗类(Dog),继承动物类
构造方法:无参、带参
成员方法:重写吃饭()
(4)定义测试类(AnimalDemo),写代码测试
完整代码:
packageduotai; publicclassanimal { privateStringname; privateintage; publicanimal() { } publicanimal(Stringname, intage) { this.name=name; this.age=age; } publicStringgetName() { returnname; } publicvoidsetName(Stringname) { this.name=name; } publicintgetAge() { returnage; } publicvoidsetAge(intage) { this.age=age; } publicvoideat(){ System.out.println("动物吃东西"); } }
packageduotai; publicclasscatextendsanimal{ publiccat() { } publiccat(Stringname, intage) { super(name,age); } publicvoideat() { System.out.println("猫吃鱼"); } }
packageduotai; publicclassDemo { publicstaticvoidmain(String[] args) { animala=newcat(); a.setName("mimi"); a.setAge(5); System.out.println(a.getName() +","+a.getAge()); a.eat(); a=newcat("mimi2", 3); System.out.println(a.getName() +","+a.getAge()); a.eat(); } }
运行结果:
mimi,5猫吃鱼mimi2,3猫吃鱼