1. 程式人生 > >面向對象綜合練習題(動物樂園)

面向對象綜合練習題(動物樂園)

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 int
legNum; 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 extends
Animal1 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(); } } } }

面向對象綜合練習題(動物樂園)