域名买来可以做网站吗,网站购买云空间,北京做网络工程公司的网站,制作图网老版题目#xff1a; 使用面向对象的思想编写程序描述动物#xff0c;说明#xff1a; #xff08;1) 分析兔子和青蛙的共性#xff0c;定义抽象的动物类#xff0c;拥有一些动物共有的属性#xff1a;名字、颜色、类别#xff08;哺乳类、非哺乳类#xff09;#xff0c…题目 使用面向对象的思想编写程序描述动物说明 1) 分析兔子和青蛙的共性定义抽象的动物类拥有一些动物共有的属性名字、颜色、类别哺乳类、非哺乳类以及共有的行为吃东西发出叫声。 2)定义一些特殊能力做为接口例如游泳飞翔。 3)定义三种动物兔子继承动物类根据青蛙会游泳因此继承动物同时实现游泳接口老鹰会飞因此继承动物同时实现飞翔接口。 4)设计测试类调用子类所覆写的这些抽象方法。 已有的抽象类定义如下
abstract class Animal{ //动物类private String name;//名字private String color;//颜色private String type;//类别哺乳类、非哺乳类 public Animal(String name, String color, String type){ this.name name;this.color color;this.type type;}public String getName(){return name;} public String getColor(){return color;} public String getType(){return type;} public abstract void shout(); public abstract void eat();
}
需要编写两个接口体现特殊能力
1定义一个游泳的接口Swimmable在此接口中有抽象方法swim()。
2定义一个游泳的接口Flyable在此接口中有抽象方法fly()。
需要编写三个子类兔子、青蛙和老鹰
(1) 定义一个子类Rabbit兔子不会飞也不会游泳继承动物类并覆写shout()和eat()方法。
(2) 定义一个子类Frog青蛙不会飞但会游泳继承动物类并实现接口Swimmable并覆写shout()、eat()方法和swim()方法。
(3) 定义一个子类Eagle老鹰会飞但不会游泳继承动物类并实现接口Flyable并覆写shout()、eat()方法和fly()方法。
已有的Main类定义
/* 请在这里填写答案 */public class Main{public static void main(String[] args) {AnimalAction(new Rabbit(小白, 白色, 哺乳类)); System.out.println();AnimalAction(new Frog(弗洛格, 绿色, 非哺乳类));SwimAction(new Frog(弗洛格, 绿色, 非哺乳类));System.out.println();AnimalAction(new Eagle(凤头鹰,灰色,非哺乳类));FlyAction(new Eagle(凤头鹰,灰色,非哺乳类));}public static void AnimalAction(Animal an) {an.shout();an.eat();}public static void SwimAction(Swimmable s) {s.swim();}public static void FlyAction(Flyable f) {f.fly();}
} 根据题目要求代码实现如下
interface Swimmable {abstract void swim();
}interface Flyable {abstract void fly();
}
class Rabbit extends Animal {public Rabbit(String name, String color, String type) {super(name, color, type);}Overridepublic void shout() {System.out.println(那只super.getColor()的名字叫super.getName()的兔子正在叽叽的叫);}Overridepublic void eat() {System.out.println(兔子是哺乳类,爱吃胡萝卜);}
}class Frog extends Animal implements Swimmable {public Frog(String name, String color, String type) {super(name, color, type);}Overridepublic void shout() {System.out.println(那只super.getColor()的名字叫super.getName()的青蛙正在呱呱的叫);}Overridepublic void eat() {System.out.println(青蛙是非哺乳类,爱吃昆虫);}Overridepublic void swim() {System.out.println(青蛙是游泳高手);}
}
class Eagle extends Animal implements Flyable {public Eagle(String name, String color, String type) {super(name, color, type);}Overridepublic void shout() {System.out.println(那只super.getColor()的名字叫super.getName()的老鹰正在啾啾的叫);}Overridepublic void eat() {System.out.println(老鹰是非哺乳类,爱吃小鸡);}Overridepublic void fly() {System.out.println(老鹰是飞翔高手);}
}以上就是 PTA-6-48 使用面向对象的思想编写程序描述动物 的全部内容了希望能对你有所帮助