Main.m
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[])
{
//创建person对象
Person *person = [[Person alloc] init];
//设置值
// [person setName:@"tom"];
// [person setAge:23];
/*
点语法调用了是set或者get方法,并且只能调用这两种方法
*/
//set等价的点语法
person.name = @"tom"; //等价[person setName:@"tom"]; 也就是调用了name的set方法
person.age = 23; //调用了age的set方法
//访问器
// NSString *name = [person name];
NSString *name = person.name; //调用了name的get方法
// NSInteger age = [person age];
NSInteger age = person.age;
NSLog(@"name:%@ age:%ld",name,age);
//调用showInfo
// NSString *str = [person showInfo];
//当成了showInfo的get方法
NSString *str = person.showInfo; //等价于 NSString *str = [person showInfo];
NSLog(@"%@",str);
//如果只是生命没有定,调用会报错,因为找不到响应的实现方法,错误提示:-[Person showTask]: unrecognized selector sent to instance
// [person showTask]; 错误
return 0;
}
Person.h
#import <Foundation/Foundation.h>
@interface Person : NSObject {
NSString *_name; //名字
NSInteger _age; //年龄
}
//设置器
- (void)setName:(NSString *)name;
- (void)setAge:(NSInteger)age;
//访问器
- (NSString *)name;
- (NSInteger)age;
//打印个人信息
- (NSString *)showInfo;
- (void)showTask;
Person.m
//设置器
- (void)setName:(NSString *)name {
_name = name;
}
- (void)setAge:(NSInteger)age {
_age = age;
}
//访问器
- (NSString *)name {
return _name;
}
- (NSInteger)age {
return _age;
}
//打印个人信息
- (NSString *)showInfo {
return @"个人信息";
}
- (void)showtask {
NSLog(@"showTask");
}