题目:
青蛙Frog 属性:名字,年龄 行为:吃虫子,喝水
狗Dog 属性:名字,年龄 行为:吃虫子,喝水
羊Sheep 属性:名字,年龄 行为:吃虫子,喝水
首先根据题目要求画出关系图(从下往上画):
如上图所示
开始编写代码(根据关系图由上往下编写):
Animal类:
因为类中有“吃”这个抽象方法,所以Animal也要定义为抽象类。
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 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 abstract void eat();
public void drink() {
System.out.println("喝水");
}
}
Frog类:
public class Frog extends Animal {
public Frog() {
}
public Frog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("吃虫子");
}
}
Dog类:
public class Dog extends Animal {
public Dog() {
}
public Dog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("吃骨头");
}
}
Sheep类:
public class Sheep extends Animal {
public Sheep() {
}
public Sheep(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("吃草");
}
}
最后编写测试类Test:
public class Test {
public static void main(String[] args) {
Frog f = new Frog("xiaowa", 1);
f.eat();
f.drink();
System.out.println(f.getName() + ", " + f.getAge());
Dog d = new Dog("xiaogou", 2);
d.eat();
d.drink();
System.out.println(d.getName() + ", " + d.getAge());
Sheep s = new Sheep("xiaoyang", 3);
s.eat();
s.drink();
System.out.println(s.getName() + ", " + s.getAge());
}
}}
运行结果:
符合要求
一些简单小练习,目前还在提升自我,希望各位不要吝啬自己的宝贵意见,谢谢大家啦。