OC第一节课

作者: CharlesAn | 来源:发表于2015-04-10 18:44 被阅读48次

    声明变量;命名要规范 实现变量

    • 方法声明 方法实现

      • 1 .变量声明
    @interface Person : NSObject{
    
    //@protected //默认,受保护
    
    @public    //公开,如果想要->访问,需要公开
    
    //@private // 私有
    
    //*因为 name是对象 结构体指针;
    
    //_name 命名规范,[成员变量]的命名规范加下划线
    
    NSString *_name;
    
    // 整形
    
    //typedef long NSInteger;基本类型,不需要*
    
    NSInteger _age;
    
    float _height;
    
    • 2 .方法声明

    方法类型分为+ -:

    1.+ 类方法(静态方法)使用类名调用 如:[ Person alloc]
    
    -类方法 使用对象调用 如:[Person22 init]
    
    2. 声明方法 
    
    方法类型(返回值类型)方法名 如:
    
    + (void)run;
    
    -(void)sayHello;
    
    3. getter/setter方法
    
    getter 与成员变量名称相同(不要下划线),返回值类型:成员变量类型
    
    -(NSString *) name;
    
    -(NSInteger) age;
    
    -(float) height;
    
    setter 以set开头,名字与变量名相同;没有返回值;参数:与类成员变量一致,名称一致
    
    有参数的方法定义格式:
    
    方法类型(返回值类型)方法名:(参数1类型)参数名称
    
    -(void)setName:(NSString *)name;
    
    -(void)setAge:(NSInteger)age;
    
    4.自定义init方法
    
    -(instancetype) initWithName:(NSString *)name;
    
    -(instancetype) initWithName:(NSString *)name height:(float)height;
    
    • 变量实现
    @implementation Person  // 实现
    
    + (void)run{
    
    NSLog(@"跑起来了");
    
    }
    - (void)sayHello{
    
    NSLog(@"我%ld",_age );
    
    }
    //pragma mark - 实现getter/setter
    
    -(NSString *)name{
    
    return _name;
    
    }
    
    -(void)setName:(NSString *)name{
    
    _name = name;
    
    }
    
    - (NSInteger)age{
    
    return _age;
    
    }
    
    -(void)setAge:(NSInteger)age{
    
    _age = age;
    
    }
    
    //pragma marks --初始化变量
    
    -(instancetype) initWithName:(NSString *)name{
    
    self = [super init];
    
    if(self){
    //初始化成员变量
    
    _name = name;
    
    _age = 0;
    
    _height = 0.5;
    
    }
    return self;
    
    }
    -(instancetype) initWithName:(NSString *)name height:(float)height{
    
    self = [super init];
    
    if(self){
    
    //初始化成员变量
    
    _name = name;
    
    _age = 0;
    
    _height = height;
    
    }
    return self;
    
    }
    -(float) height
    
    {
    
    return _height;
    
    }
    
    • main 调用
    alloc分配调用
    
    Person *person = [Person alloc];
    
    初始化内存
    
    person = [person init];
    
    整合在一起
    
    Person *person22 = [[Person alloc] init];
    

    相关文章

      网友评论

        本文标题:OC第一节课

        本文链接:https://www.haomeiwen.com/subject/rgstfttx.html