JAVA入门_继承与重载_饲养员喂养动物
生活随笔
收集整理的這篇文章主要介紹了
JAVA入门_继承与重载_饲养员喂养动物
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
JAVA入門_繼承與重載_飼養(yǎng)員喂養(yǎng)動物
- 實驗要求
- Tiger類
- Feeder類
- MainClass
- 運行結(jié)果
實驗要求
本實驗要求:本實驗以飼養(yǎng)員喂養(yǎng)老虎為業(yè)務(wù)背景,體驗“函數(shù)重載”的價值。
1.1. 本實驗以動物園飼養(yǎng)員喂養(yǎng)動物為業(yè)務(wù)背景;
1.2. 動物園的飼養(yǎng)員最多管理三只老虎;
1.3. 飼養(yǎng)員可以一次喂養(yǎng)所有老虎;
1.4. 飼養(yǎng)員也可以根據(jù)老虎類型僅喂養(yǎng)某只指定的老虎。
2.1. 創(chuàng)建實驗工程;
2.2. 創(chuàng)建包
3.1. 創(chuàng)建老虎類:Tiger;
3.2. 為老虎類創(chuàng)建屬性,老虎的類型:字符串類型;
3.3. 為老虎類的類型屬性添加getter/setter方法;
3.4. 為老虎類創(chuàng)建吃飯方法:
1)限制1. 函數(shù)取名:eat。
2)限制2. eat函數(shù)可設(shè)定為0參,無返回公共函數(shù)。
3.5. eat方法需根據(jù)老虎的類型顯示飼養(yǎng)員的喂養(yǎng)情況,狀態(tài)如下:
1) 老虎類型是“華南虎”時,喂食“牛肉”;
2) 老虎類型是“東北虎”時,喂食“豬肉”;
3) 老虎類型是“新疆虎”時,喂食“羊肉”。
3.6. eat方法被調(diào)用時,需要向控制臺輸出如下喂養(yǎng)信息:
“飼養(yǎng)員喂” + 老虎類型 + “吃” + eat方法判斷所得的食物。
4.1. 創(chuàng)建飼養(yǎng)員類:Feeder;
4.2. 設(shè)定飼養(yǎng)員管理的老虎數(shù)量與類型:
1)新建飼養(yǎng)員時,為飼養(yǎng)員設(shè)置三只待喂養(yǎng)的老虎,以對象數(shù)組的形式實現(xiàn)。
2)三只老虎的類型分別為:華南虎、東北虎、新疆虎。
5.1. 創(chuàng)建指定類型老虎的喂養(yǎng)方法:
1)限制1. 函數(shù)取名:feed。
2)限制2. feed函數(shù)帶有1個字符串類型參數(shù):老虎類型。
3)限制3. feed函數(shù)可設(shè)定為無返回公共函數(shù)。
4)該函數(shù)根據(jù)參數(shù),訪問指定類型老虎的吃飯方法(eat),實施喂養(yǎng)。
5.2. 創(chuàng)建所有類型老虎的喂養(yǎng)方法:
1)限制1. 函數(shù)取名:feed。
2)限制2. feed函數(shù)沒有參數(shù)。
3)限制3. feed函數(shù)可設(shè)定為無返回公共函數(shù)。
4)該函數(shù)要求調(diào)用所有受飼養(yǎng)員管理的老虎的吃飯方法(eat),實施喂養(yǎng)。
6.1. 創(chuàng)建主類:MainClass;
6.2. 在main函數(shù)中創(chuàng)建飼養(yǎng)員,并調(diào)用1參feed函數(shù)喂養(yǎng)華南虎。
6.3. 在main函數(shù)中調(diào)用0參feed函數(shù)喂養(yǎng)飼養(yǎng)員管理的所有老虎。
Tiger類
public class Tiger {private String type;public Tiger() {super();}public Tiger(String type) {super();this.type = type;}public String getType() {return type;}public void setType(String type) {this.type = type;}public void eat() {if (type == "華南虎") {String stuff = "牛肉";System.out.println("飼養(yǎng)員喂" + type + "吃" + stuff);}else if(type == "新疆虎"){String stuff = "羊肉";System.out.println("飼養(yǎng)員喂" + type + "吃" + stuff);}else if(type == "東北虎"){String stuff = "豬肉";System.out.println("飼養(yǎng)員喂" + type + "吃" + stuff);}} }Feeder類
public class Feeder extends Tiger {private Tiger[] tigers;public Feeder() {tigers = new Tiger[3];tigers[0] = new Tiger("華南虎");tigers[1] = new Tiger("東北虎");tigers[2] = new Tiger("新疆虎");}public void feed(String type) {if (type == null) {System.out.println("飼養(yǎng)員喂華南虎吃牛肉");System.out.println("飼養(yǎng)員喂東北虎吃豬肉");System.out.println("飼養(yǎng)員喂新疆虎吃羊肉");} elsefor (int i = 0; i < tigers.length; i++) {if (tigers[i].getType().equals(type)) { // 注意使用equals,不要用==,前者判斷內(nèi)容,后者判斷地址tigers[i].eat();}}}public void feed() {feed(null);} }MainClass
public class MainClass {public static void main(String[] args) {Feeder s = new Feeder();s.feed();s.feed("華南虎");} }運行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的JAVA入门_继承与重载_饲养员喂养动物的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 所谓人生,所谓爱情
- 下一篇: 【安全算法之SHA1】SHA1摘要运算的