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
動物園遊記
今天早晨早早起床,去動物園遊玩,兌現兒子期盼已久的許諾。這個想法源於上次回來,準備帶他去玩,由於那天出發時間點比較晚,到達動物園的時候已經人滿為患,儘管從南門開車到東門,看看長長等待的車龍,以及異常緩慢的車輛放行,最後以到官園買玩具作為交換條件才肯折返。在這乙個多月的時間裡兒子曾多次提及去動物園,但...
平淡生活 愛護小動物的反思
平時在北京經常能看到狗,雖然我沒有收養乙個做寵物的念頭,心裡還是比較喜歡小狗狗,有時看到邋遢大王 落魄分子們,會替這些小生命感到難過,覺得它們失寵了,待了。也不知在中國是否有狗狗節,狗狗們有沒有人記住它們的生日。不過我覺得,只要找對了人,狗狗節天天都有。比如這條小雪。今早上班路上,看到乙個中年男人,...
清晨的北京動物園
今年我去動物園的次數,比往年都要多,更準確點說,比我以前去的次數加起來都要多。至於原因,大致有以下三點 我辦了一張北京公園年卡 動物園在我附近一公里內 我每天六點多就會起床 於是我幾乎每天早上都會喝上一碗豆腐腦,去動物園逛乙個半小時,然後上班。我也是最近五月份機緣巧合下才養成了這個習慣 早上跑步多累...