OC1_点语法

时间:2023-03-08 20:44:40
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 = ;
}
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 = ; //<==> [dog setAge:20];
[dog printDog]; //<==> [dog name] [dog age];
NSLog(@"name = %@ age = %li", dog.name, dog.age);
}
return ;
}