1、簡單建構類和對象和id使用的測試代碼如下
Person.h
#ifndef Person_h
#define Person_h
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
NSString* _name;
int _age;
}
-(void)setName:(NSString *)name addAge:(int)age;
-(void)say:(NSString *)content;
-(NSString *)info;
+(void)foo;
@end
#endif /* Person_h */
Person.m
#import "Person.h"
@implementation Person
int _testAdd;
-(void)setName:(NSString *)name addAge:(int)age {
_name = name;
_age = age;
-(void)say:(NSString *)content
NSLog(@"content is %@", content);
-(NSString *)info
[self test];
return [NSString stringWithFormat:@"the persion is %@, and age is %d", _name, _age];
-(void)test
NSLog(@"this is test method");
+(void)foo
NSLog(@"this is foo method");
main.m
int main(int argc, char * argv[]) {
@autoreleasepool {
Person *person = [[Person alloc] init];
[person setName:@"chenyu" addAge:26];
NSString *info = [person info];
NSLog(@"%@", info);
[person say:@"chenyu"];
[Person foo];
//id類型可以代表所有對象的類型,id類型執行方法會動态綁定
//id p不是id *p;
id p = [[Person alloc] init];
[p setName:@"chenyu" addAge:26];
NSString *in = [p info];
NSLog(@"%@", in);
[p say:@"chenyu"];
}
2、運作結果
this is test method
the persion is chenyu, and age is 26
content is chenyu
this is foo method