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");

}

@end

main.m

#import "Person.h"

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

this is test method

the persion is chenyu, and age is 26

content is chenyu

 

上一篇:《Unity着色器和屏幕特效开发秘笈》—— 1.6 创建Half Lambert光照模型


下一篇:一起谈.NET技术,.NET中的异步编程- IO完成端口以及FileStream.BeginRead