天天看點

IOS之學習筆記四(類的實作和對象和id)

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

繼續閱讀