A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© feng2706 中级黑马   /  2016-3-6 23:01  /  674 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*设计一个”狗“类
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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马