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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

第一步:先创建类,类中有各个元素的属性
创建类的方法:@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;
}


评分

参与人数 1黑马币 +2 收起 理由
昊远 + 2 总结的真不错,比我强多了,加油..

查看全部评分

9 个回复

倒序浏览
好的  收藏了
回复 使用道具 举报
谢谢,虽然学过这些
回复 使用道具 举报
很不错嘛.
回复 使用道具 举报
不错顶一下..
回复 使用道具 举报
加油加油,我也学到这边了,巩固一下
回复 使用道具 举报
这个是OC吗?
回复 使用道具 举报
这个是OC吗? 不是C语言的把?
回复 使用道具 举报
wdcew 中级黑马 2015-8-18 17:08:57
9#
可以了咯!!!
回复 使用道具 举报
来巩固下基础
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马