#import <Foundation/Foundation.h>
//Person.h
@interface Person : NSObject
{
int _age;
NSString *_name;
}
- (void)setAge:(int)age;
- (int)age;
- (void)setName:(NSString *)name;
- (NSString *)name;
@end
//Person.m
@implementation Person
- (void)setAge:(int)age
{
_age = age;
//会引发死循环
//self.age = age;//[self setAge:age];
}
- (int)age
{
return _age;
}
- (void)setName:(NSString *)name
{
_name=name;
}
- (NSString *)name
{
return _name;
}
@end
int main (int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Person *p = [Person new];
//点语法的本质还是方法调用
//当使用点语法时,,编译器会自动展开成相应的方法
p.age = 10; // [p setAge:10];
int a = p.age; //[p age];
NSLog(@"%d %d", [p age],p.age);
p.name = @"zhangyunfei";// [p setName:@"zhangyunfei"];
NSString *n = p.name; //NSLog(@"%@",[p name]);
[pool drain];
return 0;
}
objective-c 点语法
最新推荐文章于 2024-06-09 01:30:00 发布