面向對象綜合練習題(動物樂園)
阿新 • • 發佈:2019-04-29
err 創建 alt cat .sh phi 任務 info out
動物樂園
任務描述:
以面向對象思想設計動物樂園系統
動物樂園包括的成員:貓、鴨子,海豚,……
屬性:名稱、腿
方法:叫
設計類圖
使用多態、接口優化設計
編碼實現
分別創建Cat、Duck、Dolphin對象並放到一個數組中,對數組進行遍歷輸出各種動物如何叫,各種動物腿的條數。instanceof判斷動物種類 。
package com.Summer_0428.cn; abstract class Animal1{ private String name;public Animal1(String name) { this.name = name; } public String getName() { return name; } public abstract void show();//定義一個抽象方法 } interface Terrestrial{ public int getLegNum(); } class Cat1 extends Animal1 implements Terrestrial{ private intlegNum; public Cat1(String name,int legNum) { super(name); this.legNum = legNum; } @Override public int getLegNum() { return legNum; } @Override public void show() { System.out.println("喵喵喵"); } } class Duck extendsAnimal1 implements Terrestrial{ private int legNum; public Duck(String name,int legNum) { super(name); this.legNum = legNum; } @Override public int getLegNum() { return legNum; } @Override public void show() { System.out.println("嘎嘎嘎"); } } class Dolphin extends Animal1 { public Dolphin(String name) { super(name); } @Override public void show() { System.out.println("海豚音"); } } public class Zoo { public static void main(String[] args) { Animal1 animals[] = new Animal1[3]; animals[0] = new Cat1("加菲貓", 4); animals[1] = new Duck("唐小鴨", 2); animals[2] = new Dolphin("海豚奇奇"); System.out.println("動物名字\t\t腿的條數\t\t動物叫"); for (int i = 0; i < animals.length; i++){ if (animals[i] instanceof Terrestrial) { String name = animals[i].getName(); int legNum = ((Terrestrial) animals[i]).getLegNum(); System.out.print(name + "\t\t" + legNum + "\t\t"); animals[i].show(); } else { String name = animals[i].getName(); System.out.print(name + "\t\t" + 0 + "\t\t"); animals[i].show(); } } } }
面向對象綜合練習題(動物樂園)