//设计一个“狗”的类
#import<Foundation/Foundation.h>
//定义狗的颜色的枚举类型,给枚举类型{{kColorWhite,kColorYellow,kColorBlack} 起别名,为Color 0 1
typedef enum{kColorWhite,kColorYellow,kColorBlack} Color;
//定义狗的性别的枚举类型,别名是sex
typedef enum{kSexGong,kSexMu,kSexYao} Sex;
#pragma mark 狗类的声明
//定义一个Dog类
@interface Dog:NSObject
{
//狗类的实例变量
@public
Color _color;
float _weight;
Sex _sex;
int -speed;
NSString *_name; //字符串类型的指针
}
//方法的声明
//狗的行为
-(void) eat:(NSString *)foodName;//吃体重+0.5
-(void)run;//跑体重-0.5
-(void)bark;//打印所有的信息
-(BOOL)isCompareColor:(Dog *)dog;//比较狗毛的颜色
-(int)isCompareSpeed:(Dog *)dog;//比较狗的速度
@end
#pragma mark 狗类的实现
//类的实现
@implementation Dog
//吃体重+0.5
-(void) eat:(NSString *)foodName{
NSLog(@"狗正在吃%@",foodName);
}
}
//跑体重-0.5
-(void)run{
NSLog(@"狗正在以时速%d的速度奔跑",_speed);
}
//打印所有的信息
-(void)bark{
NSLog(@"性别:%d,颜色:%d,速度:%d,当前体重%.2f",_sex,_color,_speed,_weight);
}
//比较狗毛的颜色
-(BOOL)isCompareColor:(Dog *)dog{
// 当前狗的颜色 另一条狗的颜色
if(_color==dog->_color);
{return Yes;}
else
{return No;}
}
//比较狗的速度
-(int)isCompareSpeed:(Dog *)dog{
return _speed-dog->_speed;
}
@end
int main(int argc,const char *argv[])
{
@autoreleasepool{
//创建第一条条狗
Dog *d1=[Dog new];
d1->_sex=kSexGong;
d1->_weight=20;
d1->_speed=80;
d1->_color=kColorWhite;
[d1 bark];//构叫
[d1 eat:@"一块骨头"];//构吃
[d1 eat:@"一块肉"];//构吃
//创建第二条狗
Dog *d2=[Dog new];
d2->_sex=kSexMu;
d2->_weight=25;
d2->_speed=60;
d2->_color=kColorWhite;
[d2 bark];//构叫
[d2 eat:@"一块骨头"];//构吃
[d2 eat:@"一块肉"];//构吃
//比较两条狗的颜色
BOOL isSame=[d1 iscompareColor:d2];
NSLog(@"两狗的颜色=%d",isSame);
int spe= [d1 iscompareSpeed:d2];
NSLog(@"速度差=%d",spe);
}
return 0;
}
|
|