屏幕快照 2017-09-15 13.40.17.png
#import <Foundation/Foundation.h>
/*
士兵
事物名稱: 士兵(Soldier)
屬性:姓名(name), 身高(height), 體重(weight)
行為:打槍(fire), 打電話(callPhone)
槍
事物名稱:槍(Gun)
屬性:彈夾(clip) , 型號(model)
行為:上彈夾(addClip)
彈夾
事物名稱: 彈夾(Clip)
屬性:子彈(Bullet)
行為:上子彈(addBullet)
*/
@interface Gun : NSObject
{
@public
int _bullet; // 子彈
}
// 射擊
- (void)shoot;
@end
@implementation Gun
- (void)shoot
{
// 判斷是否有子彈
if (_bullet > 0) {
_bullet--;
NSLog(@"打了一槍 %i", _bullet);
}else
{
NSLog(@"沒有子彈了, 請換彈夾");
}
}
@end
@interface Soldier : NSObject
{
@public
NSString *_name;
double _height;
double _weight;
}
//- (void)fire;
- (void)fire:(Gun *)gun;
@end
@implementation Soldier
/*
- (void)fire
{
NSLog(@"打了一槍");
}
*/
// Gun * g = gp
- (void)fire:(Gun *)g
{
// NSLog(@"打了一槍");
[g shoot];
}
@end
int main(int argc, const char * argv[]) {
// 1.創(chuàng)建士兵
Soldier *sp =[Soldier new];
sp->_name = @"屎太濃";
sp->_height = 1.88;
sp->_weight = 100.0;
// 2.創(chuàng)建一把槍
Gun *gp = [Gun new];
gp->_bullet = 10;
// 2.讓士兵開槍
// [sp fire];
// 讓對象作為方法的參數(shù)傳遞
[sp fire:gp]; // 地址
[sp fire:gp];
[sp fire:gp];
[sp fire:gp];
[sp fire:gp];
[sp fire:gp];
return 0;
}