本文介绍: (2) 定义一个子类Frog,青蛙不会飞但会游泳,继承动物类并实现接口Swimmable,并覆写shout()、eat()方法和swim()方法。(1) 分析兔子和青蛙的共性,定义抽象的动物类,拥有一些动物共有的属性:名字、颜色、类别(哺乳类、非哺乳类),以及共有的行为:吃东西,发出叫声。(3) 定义一个子类Eagle,老鹰会飞但不会游泳,继承动物类并实现接口Flyable,并覆写shout()、eat()方法和fly()方法。(1)定义一个游泳的接口Swimmable,在此接口中有抽象方法swim()。
题目:
(1) 分析兔子和青蛙的共性,定义抽象的动物类,拥有一些动物共有的属性:名字、颜色、类别(哺乳类、非哺乳类),以及共有的行为:吃东西,发出叫声。
(3)定义三种动物:兔子继承动物类;根据青蛙会游泳,因此继承动物同时实现游泳接口;老鹰会飞,因此继承动物同时实现飞翔接口。
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);
}
@Override
public void shout() {
System.out.println("那只"+super.getColor()+"的,名字叫"+super.getName()
+"的兔子正在叽叽的叫");
}
@Override
public void eat() {
System.out.println("兔子是哺乳类,爱吃胡萝卜");
}
}
class Frog extends Animal implements Swimmable {
public Frog(String name, String color, String type) {
super(name, color, type);
}
@Override
public void shout() {
System.out.println("那只"+super.getColor()+"的,名字叫"+super.getName()
+"的青蛙正在呱呱的叫");
}
@Override
public void eat() {
System.out.println("青蛙是非哺乳类,爱吃昆虫");
}
@Override
public void swim() {
System.out.println("青蛙是游泳高手");
}
}
class Eagle extends Animal implements Flyable {
public Eagle(String name, String color, String type) {
super(name, color, type);
}
@Override
public void shout() {
System.out.println("那只"+super.getColor()+"的,名字叫"+super.getName()
+"的老鹰正在啾啾的叫");
}
@Override
public void eat() {
System.out.println("老鹰是非哺乳类,爱吃小鸡");
}
@Override
public void fly() {
System.out.println("老鹰是飞翔高手");
}
}
以上就是 PTA-6-48 使用面向对象的思想编写程序描述动物 的全部内容了,希望能对你有所帮助!
原文地址:https://blog.csdn.net/linsc_05/article/details/134678311
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_20802.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。