编程题2使用Java的继承关系来描述动物世界的特征和关系。
( 1 )抽象出项目问题中的对象:动物、老鼠、熊猫。
(2 )抽象出每种对象所具有的性质:名字和食物。
( 3)抽象出每种对象所具有的行为,动物具有吃的行为和睡觉的行为,老鼠除具有动物行为外还具有打洞行为。
(4)抽象出继承关系,老鼠类和熊猫类作为子类继承父类动物类,子类继承父类的属性和方法。
Animal.java
public abstract class Animal{
public String name;
public String food;
public String getName() {
return name;
}
public void setName(String name) {
this.name=name;
}
public String getFood() {
return food;
}
public void setFood(String food) {
this.food=food;
}
public static void Eat() {
System.out.print("我在吃饭 ");
}
public static void Sleep() {
System.out.print("我在睡觉 ");
}
public Animal(String name,String food) {
this.name=name;
this.food=food;
}
}
Mouse.java
public class Mouse extends Animal{
public Mouse(String name,String food) {
super(name,food);
}
public static void dig() {
System.out.println("我在打洞");
}
}
Panda.java
public class Panda extends Animal{
public Panda(String name,String food) {
super(name,food);
}
}
AnimalTest.java
public class AnimalTest {
public static void main(String args[]) {
Panda panda = new Panda("熊猫","竹叶");
System.out.print("名字: "+panda.getName()+"\t");
System.out.println("食物: "+panda.getFood()+"\t");
Panda.Eat();
Panda.Sleep();
System.out.println();
Mouse mouse = new Mouse("老鼠","大米");
System.out.print("名字: "+mouse.getName()+"\t");
System.out.println("食物: "+mouse.getFood()+"\t");
Mouse.Eat();
Mouse.Sleep();
Mouse.dig();
}
}
运行结果: