小動物園系統

2021-06-26 15:23:51 字數 3522 閱讀 5814

main.m

#import "panda.h"

#import "elephant.h"

#import "kangaroo.h"

#import "zoo.h"

#import "admin.h"

int main(int argc, const char * argv)

return 0;

}

zoo.h

@class zoo;

@class animal;

@class admin;

//動物管理協議

@protocol helpanimal @required

//為動物園購買飼料

- (void)buyfodder:(zoo *)zoo;

@optional

//有新動物出生,照顧新動物

- (void)lookafteranimal:(animal *)animal;

@end

//主體

@inte***ce zoo : nsobject

@property(nonatomic, assign)nsinteger housesize;//倉庫總量

@property(nonatomic, assign)nsinteger store;//飼料總量

//新增動物到陣列

- (void)addanimal:(animal *)animal;

//動物園開始運營

- (void)run:(admin *)admin;

zoo.m

#import "animal.h"

#import "admin.h"

@implementation zoo

- (id)init

return self;

}- (void)addanimal:(animal *)animal

//動物園開始運營

- (void)run:(admin *)admin

- (void)timeaction:(nstimer *)time

//總量減去每個動物的食量(乙個乙個吃)

_store -= animal.eating;

//動物的年齡增加

animal.age ++;

//判斷動物是否在生產週期

if (animal.age % animal.birthcycle == 0 && animal.age > 0)

}//----------陣列元素個數--------

//如果新動物的陣列中有元素,那麼將新動物陣列中的元素新增到動物陣列中

if (newanimal.count > 0)

nslog(@"第%ld天、動物的數量:%ld、動物園飼料的餘量:%ld",_days,_animals.count,_store);

_days ++;//營業天數增加

if (_store <= 0)

}//銷毀

- (void)dealloc

admin.h

#import "zoo.h"//拿到協議

@inte***ce admin : nsobject//籤協議

@property(nonatomic,copy)nsstring *name;

admin.m

#import "animal.h"

#import "zoo.h"

@implementation admin

//實現協議內容

//購買飼料

- (void)buyfodder:(zoo *)zoo

//有新動物出生,照顧新動物

- (void)lookafteranimal:(animal *)animal

animal.h

//自定義初始化(帶名字)

- (id)initwithname:(nsstring *)name;

//食量

@property(nonatomic, assign) int eating;

//生產週期

@property(nonatomic, assign) int birthcycle;

//年齡

@property(nonatomic, assign) int age;

//生產的方法【帶乙個引數:編碼】

- (animal *)birth:(nsstring *)code;

animal.m

//----------自定義初始化方法的重寫(父)--------

- (id)initwithname:(nsstring *)name

return self;

}//----------生產方法的重寫(父)--------

//【帶乙個引數:編碼】

- (animal *)birth:(nsstring *)code

panda、elephant、kangaroo繼承於animal類

panda.m

//----------自定義初始化方法的重寫(子)--------

- (id)initwithname:(nsstring *)name

return self;

}//--------生產方法的重寫(子)---------

- (animal *)birth:(nsstring *)code

elephant.m

//----------自定義初始化方法的重寫(子)--------

- (id)initwithname:(nsstring *)name

return self;

}//--------生產方法的重寫(子)---------

- (animal *)birth:(nsstring *)code

kangaroo.m

//----------自定義初始化方法的重寫(子)--------

- (id)initwithname:(nsstring *)name

return self;

}--------生產方法的重寫(子)---------

- (animal *)birth:(nsstring *)code

動物園遊記

今天早晨早早起床,去動物園遊玩,兌現兒子期盼已久的許諾。這個想法源於上次回來,準備帶他去玩,由於那天出發時間點比較晚,到達動物園的時候已經人滿為患,儘管從南門開車到東門,看看長長等待的車龍,以及異常緩慢的車輛放行,最後以到官園買玩具作為交換條件才肯折返。在這乙個多月的時間裡兒子曾多次提及去動物園,但...

平淡生活 愛護小動物的反思

平時在北京經常能看到狗,雖然我沒有收養乙個做寵物的念頭,心裡還是比較喜歡小狗狗,有時看到邋遢大王 落魄分子們,會替這些小生命感到難過,覺得它們失寵了,待了。也不知在中國是否有狗狗節,狗狗們有沒有人記住它們的生日。不過我覺得,只要找對了人,狗狗節天天都有。比如這條小雪。今早上班路上,看到乙個中年男人,...

清晨的北京動物園

今年我去動物園的次數,比往年都要多,更準確點說,比我以前去的次數加起來都要多。至於原因,大致有以下三點 我辦了一張北京公園年卡 動物園在我附近一公里內 我每天六點多就會起床 於是我幾乎每天早上都會喝上一碗豆腐腦,去動物園逛乙個半小時,然後上班。我也是最近五月份機緣巧合下才養成了這個習慣 早上跑步多累...