OC1_点语法

//
//  Dog.h
//  OC1_点语法
//
//  Created by zhangxueming on 15/6/16.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Dog : NSObject
//{
//    NSString *_name;
//    NSInteger _age;
//}

- (id)init;

//方法一
//- (NSString *)name;
//- (NSInteger)age;
//
//- (void)setName:(NSString *)name;
//- (void)setAge:(NSInteger)age;

//方法二:
//@property 关键字展开setter getter方法的声明

//- (NSString *)name;
//- (void)setName:(NSString *)name;
//@property NSString *name;

//- (NSInteger)age;
//- (void)setAge:(NSInteger)age;
//@property NSInteger age;

//方法三
//展开setter getter方法的声明及synthesize语句
//展开@synthesize name = _name;
//@synthesize age = _age;

@property NSString *name;
@property NSInteger age;


- (void)printDog;

@end
//
//  Dog.m
//  OC1_点语法
//
//  Created by zhangxueming on 15/6/16.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import "Dog.h"

@implementation Dog

- (id)init
{
    if (self=[super init]) {
        _name = @"小黑";
        _age  = 12;
    }
    return self;
}
//方法一:
//- (NSString *)name
//{
//    return _name;
//}
//
//- (NSInteger)age
//{
//    return _age;
//}
//
//- (void)setName:(NSString *)name
//{
//    _name = name;
//}
//
//- (void)setAge:(NSInteger)age
//{
//    _age = age;
//}

//方法二
//@synthesize 关键字展开 setter getter方法的实现
//展开了 _name _age
//@synthesize name=_name;
//@synthesize age = _age;

//方法三: 省约@synthesize



- (void)printDog
{
    NSLog(@"name = %@ , age = %li", [self name], [self age]);
}


@end
//
//  main.m
//  OC1_点语法
//
//  Created by zhangxueming on 15/6/16.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Dog.h"

//点语法: 方便其他程序员转移到ios开发

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Dog *dog = [[Dog alloc] init];
        [dog printDog];
        
        [dog setName:@"小白"];
        dog.name = @"小白";//<==> [dog setName:@"小白"]
        dog.age = 20;     //<==> [dog setAge:20];
        [dog printDog];
        
        //<==> [dog name] [dog age];
        NSLog(@"name = %@ age = %li", dog.name, dog.age);
    }
    return 0;
}

 

posted @ 2015-06-16 16:32  sirzhang  阅读(192)  评论(0编辑  收藏  举报
AmazingCounters.com