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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马中的小绵羊 中级黑马   /  2015-8-16 21:22  /  693 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一步:先创建类,类中有各个元素的属性
创建类的方法:@interface   类名(类名首字母大写,这是规范):NSobject
{
     @public
        此处写类的属性例如:in t a;


}
类方法的声明(其实就相当于类的声明)
@en d(记住千万不可忘记)
@implementation 类名
此处写类实现的方法(也就是函数实现的方法)
方法有多种:第一种:无参数无返回值类型   -(void) eat;
                        第二种:无参有返回值类型      -(int)eat:
                        第三种:有参无返回值类型     -(void)eat:(NSString*)foodName   addSum   :(int)num;
                       第四种:有参有返回值类型       -(int)eat:(NSString*)foodName   addSum   :(int)num;
                       第五种:对象作为参数类型      -(void)eat(Dog *)dog;
                       第六种    对象作为返回值类型
  @en d
int main(){
1创建类的对象:Dog *p=[Dog     new];
2对象调用无参方法:[p:方法名];
     对象调用有参方法:[p:方法名:传递参数 andnum   传递参数];
     调用对象作为参数的方法:[p1 eat:p2];
return 0;

下面附上经典案例:
设计一个”狗“类
1> 属性
* 颜色
* 速度(单位是m/s)
* 性别
* 体重(单位是kg)

2>行为
* 吃:每吃一次,体重增加0.5kg,输出吃完后的体重
* 吠(叫):输出所有的属性
* 跑:每吃一次,体重减少0.5kg,输出速度和跑完后的体重
* 比较颜色:跟别的狗比较颜色,如果一样,两个值做减法得零,返回NO(零值),不一样,
做减法得到非零值,返回YES(1)
* 比较速度:跟别的狗比较速度,返回速度差(自己的速度 - 其他狗的速度)



#import <Foundation/Foundation.h>
typedef enum {white,black,green}Color;
typedef enum {woman,nv}Sex;
@interface Dog:NSObject
{
    @public
   Color _color;
    float _speed;
    float _weight;
}
-(void)eat:(NSString*) foodName addNum:(int)num;
-(void)jiao;
-(void)run:(NSString*) foodName addNum:(int)num;
-(BOOL)compareColor:(Dog*) dog1;
-(int)compareSpeed:(Dog*)dog2;
@end;
@implementation Dog
-(void)eat:(NSString*) foodName addNum:(int)num{

    _weight=_weight+0.5*num;

}
-(void)jiao{
   
    NSLog(@"颜色:%u,速度:%f,体重:%f",_color,_speed,_weight);
}
-(void)run:(NSString*) foodName addNum:(int)num{
     _weight=_weight-0.2*num;
     NSLog(@"速度是:%f,体重是:%f",_speed,_weight);

}
-(BOOL)compareColor:(Dog*) dog1{
    if(_color==dog1->_color){
        return YES;
    }else{
   
        return NO;
    }

    return 0;
}
-(int)compareSpeed:(Dog*)dog2{

    return _speed-dog2->_speed;

}
@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        Dog *p1=[Dog new];
        p1->_weight=13;
        p1->_color=white;
        p1->_speed=9;
        [p1 eat:@"大米" addNum:5];
        [p1 run:@"麻辣汤" addNum:5];
        [p1 jiao];
        Dog *p2=[Dog new];
        p2->_speed=34;
        p2->_color=black;
        p2->_weight=34;
        BOOL isSameColor=[p2 compareColor:p1];
        NSLog(@"isSameColor=%d",isSameColor);
        int cha=[p2 compareSpeed:p1];
        NSLog(@"速度差是:%d",cha);
        
    }
    return 0;
}
[/code]         

return 0;
}

点评

还行也  发表于 2015-8-17 21:17

8 个回复

倒序浏览
别欺骗小女生 来自手机 中级黑马 2015-8-16 21:25:06
沙发
正前方 高能!! 报告  发张妹纸一枚 !!
回复 使用道具 举报
魏武 来自手机 高级黑马 2015-8-16 21:33:40
藤椅
哈哈哈哈(ˉ▽ ̄~),我来了
回复 使用道具 举报
总结的不错 学习一下
回复 使用道具 举报
第一排 NSObject
回复 使用道具 举报
总结还不错哦,只是代码看着有点乱,发代码的时候用代码的格式会好看的多,在编辑框里有个<>点一下贴代码就行了。
回复 使用道具 举报
总结的不错,加油.赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马