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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhuiyi007 中级黑马   /  2014-7-21 10:51  /  831 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//
//  main.m
//  04-点语法
//
//  Created by apple on 13-8-7.
//  Copyright (c) 2013年 itcast. All rights reserved.
//
// 点语法只是用于getter和setter
#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[])
{
    Person *p = [Person new];
   
    // 点语法的本质还是方法调用
    // [p setAge:10];这条语句用点语法书写的话就是以下形式
        // 点语法并不是直接访问成员变量,而是调用对象的方法
        p.age = 10;
    // [p age];点语法是根据语句是否有返回值和是否赋值来判断展开成get方法还是set方法
        int a = p.age;
   
    p.name = @"Jack";
   
    NSString *s = p.name;
   
    NSLog(@"%@", s);
   
    return 0;
}


//
//  Person.h
//  04-点语法
//
//  Created by apple on 13-8-7.
//  Copyright (c) 2013年 itcast. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    int _age;
    NSString *_name;
}

- (void)setAge:(int)age;
- (int)age;


- (void)setName:(NSString *)name;
- (NSString *)name;

@end


//
//  Person.m
//  04-点语法
//
//  Created by apple on 13-8-7.
//  Copyright (c) 2013年 itcast. All rights reserved.
//

#import "Person.h"

@implementation Person

- (void)setAge:(int)age
{
    //_age = age;
   
    NSLog(@"setAge:");
   
    // 会引发死循环
    //self.age = age; // [self setAge:age];
}

- (int)age
{
    NSLog(@"age");
    return _age;
    // 会引发死循环
    //return self.age;// [self age];
}

- (void)setName:(NSString *)name
{
    _name = name;
}

- (NSString *)name
{
    return _name;
}

@end

0 个回复

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