黑马程序员技术交流社区
标题:
oc中类的应用
[打印本页]
作者:
feng2706
时间:
2016-3-6 23:01
标题:
oc中类的应用
/*设计一个”狗“类
1> 属性
* 颜色
* 速度(单位是m/s)
* 性别
* 体重(单位是kg)
2>行为
* 吃:每吃一次,体重增加0.5kg,输出吃完后的体重
* 吠(叫):输出所有的属性
* 跑:每吃一次,体重减少0.5kg,输出速度和跑完后的体重
* 比较颜色:跟别的狗比较颜色,如果一样,两个值做减法得零,返回NO(零值),不一样,
做减法得到非零值,返回YES(1)
* 比较速度:跟别的狗比较速度,返回速度差(自己的速度 - 其他狗的速度)
*/
#import <Foundation/Foundation.h>
typedef enum Color{
black,
yellow,
white,
}dogColor;
typedef enum Sex{
gong,
mu,
}dogSex;
//声明一个类
@interface Dog : NSObject
{ @public
dogColor _color;
int _speed;
dogSex _sex;
float _weight;
}
-(void)eat;//吃
-(void)jiao;//叫
-(void)run;//跑
-(BOOL)compareColor:(Dog *)dog;//比较颜色
-(int)compareSpeed:(Dog *)dog;//比较速度
@end
//实现一个类
@implementation Dog
-(void)eat{
_weight+=0.5;
NSLog(@"吃完后的体重是:%.2f",_weight);
}
-(void)jiao{
NSLog(@"狗的颜色是:%d 速度是:%d 性别是:%d 体重是:%.2f ",_color,_speed,_sex,_weight);
}
-(void)run{
_weight-=0.5;
NSLog(@"跑步后的体重是:%.2f",_weight);
}
-(BOOL)compareColor:(Dog *)dog{
if (dog->_color==_color) {
return YES;
}
return NO;
}
-(int)compareSpeed:(Dog *)dog{
return _speed-dog->_speed;
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Dog *p = [Dog new];
p->_color = yellow;
p->_sex = gong;
p->_speed = 88;
p->_weight = 22;
Dog *p1 = [Dog new];
p1->_color = black;
p1->_speed = 33;
[p eat];
[p jiao];
[p run];
BOOL a = [p compareColor:p1];
if (a == YES) {
NSLog(@"颜色一样");
}else{
NSLog(@"颜色不一样");
}
int b = [p compareSpeed:p1];
NSLog(@"速度差是%d",b);
}
return 0;
}
类的使用啊 不太明白 刚开始学oc
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2