Objective-c类的声明

来源:互联网 发布:韩国社交软件 编辑:程序博客网 时间:2024/06/08 03:11

objective-c 是一种面向对象的编程语言,说到面向对象编程当然离不开类(class)了。

建立了第一个简单的项目后,我们应该继续加深我们对Objective-C语法的认识,我感觉Objective-C是回归C的语言,用法有很多地方跟C相似。     

Objective-C同样是有主文件(main)、声明文件(xxx.h)、实现文件(xxx.m)。Objective-c定义一个类时需要继承它的父类NSObject,这样就可以使用系统给出的大量的方法。所以说,每一个对象的类型都是NSOject,每个指向对象的指针都可以声明为NSOject*,我们可以用id类型来代替,这是一个声明对象和指针的简单方法,并且支持动态类型检查来代替静态类型检查。

先看看我今天的随笔吧,主要是声明实现了系统默认的set、get方法。Objective-C中set、get方法是不用自己写的,只需要调用就行。

  1.   
  2. #import <Foundation/Foundation.h>  
  3.   
  4.   
  5. @interface lianxi : NSObject  
  6.   
  7. {  
  8.   
  9.    int id;  
  10.   
  11.    NSString  * name;  
  12.   
  13.    double salary;  
  14.   
  15. }  
  16.   
  17. @property(nonatomic,assign)int id;  
  18.   
  19. @property(nonatomic,assign)NSString * name;  
  20.   
  21. @property(nonatomic,assign)double salary;  
  22.   
  23. @end  
  24.   
  25. /*************xxx.m文件实现文件**************/  
  26.   
  27. #import "lianxi.h"  
  28.   
  29. @implementation lianxi  
  30.   
  31. @synthesize id;  
  32.   
  33. @synthesize name;  
  34.   
  35. @synthesize salary;  
  36.   
  37. @end  
  38.   
  39. /***********main.m文件主文件 用来测试***************/  
  40.  
  41.   
  42. #import <Foundation/Foundation.h>  
  43.   
  44. #import "lianxi.h"  
  45.   
  46. int main (int argc, const char * argv[])  
  47.   
  48. {  
  49.   
  50.    @autoreleasepool {  
  51.   
  52.        lianxi * l = [[lianxi alloc]init];  
  53.   
  54.          
  55.   
  56.        [l setId:1];  
  57.   
  58.        NSLog(@"ID=%d",[l id]);  
  59.   
  60.          
  61.   
  62.        [l setName:@"aa"];  
  63.   
  64.        NSLog(@"姓名:%@",[l name]);  
  65.   
  66.          
  67.   
  68.        l.salary = 100000.1;  
  69.   
  70.        NSLog(@"工资:%f",l.salary);  
  71.   
  72.     }  
  73.   
  74.    return 0;  
  75.