Person.h
#ifndefPerson_h#definePerson_h#import<Foundation/Foundation.h>@interfacePerson:NSObject{NSString*_name;int_age;}-(void)setName:(NSString*)nameaddAge:(int)age;-(void)say:(NSString*)content;-(NSString*)info;+(void)foo;@end#endif/*Person_h*/
Person.m
#import"Person.h"@implementationPerson{int_testAdd;}-(void)setName:(NSString*)nameaddAge:(int)age{_name=name;_age=age;}-(void)say:(NSString*)content{NSLog(@"contentis%@",content);}-(NSString*)info{[selftest];return[NSStringstringWithFormat:@"thepersionis%@,andageis%d",_name,_age];}-(void)test{NSLog(@"thisistestmethod");}+(void)foo{NSLog(@"thisisfoomethod");}@end
main.m
#import"Person.h"intmain(intargc,char*argv[]){@autoreleasepool{Person*person=[[Personalloc]init];[personsetName:@"chenyu"addAge:26];NSString*info=[personinfo];NSLog(@"%@",info);[personsay:@"chenyu"];[Personfoo];//id类型可以代表所有对象的类型,id类型执行方法会动态绑定//idp不是id*p;idp=[[Personalloc]init];[psetName:@"chenyu"addAge:26];NSString*in=[pinfo];NSLog(@"%@",in);[psay:@"chenyu"];}}
2、运行结果thisistestmethodthepersionischenyu,andageis26contentischenyuthisisfoomethodthisistestmethodthepersionischenyu,andageis26contentischenyu