Objective-C 类

来源:互联网 发布:淘宝沙箱测试环境 编辑:程序博客网 时间:2024/06/05 05:26


        类是Objective-c的核心,Objective-c程序都是围绕类进行的。Objective-c程序至少包含以下三个部分:

       

        1、类接口:定义了类的数据和方法,但是不包括方法的实现代码。

        2、类实现:仓储 了实现类方法的代码。

        3、应用程序:调用类来完成一些实际操作的应用程序。


        类接口,我们可以理解为C/C++语言中头文件*.h,也就是类的定义。

        类实现,我们可以理解为C++语言中的*.cpp文件,也就是类的实现代码。

        应用程序也就我们main函数及其它实现某些功能的函数代码组成的应用程序。



//******************************************************************************************************************************************


Objective-c 类接口 (@interface) (类定义)


在Objective-c中如何定义一个类呢?我们可以使用下面的格式进行表示:


[cpp] view plaincopy
  1. @interface 类名:父类名{  
  2.               变量定义;  
  3. }  
  4. 方法定义;  
  5. @end;  


下面给出一个实例:

[cpp] view plaincopy
  1. @interface Person: NSObject {  
  2.        NSString* name;  
  3.        int age;  
  4. }  
  5. - (NSString*) name;  
  6. - (int) age;  
  7. - (void) setName: (NSString*) input;  
  8. - (void) setAge: (int) input;  
  9. @end;  

类定义从@interface开始,它表示了类的接口声明,冒号后指定了该类的父类,@end;表示类定义结束。

Objective-c的类定义中类的变量定义与方法定义是分开的,花括号内写变量的定义,花括号外写该类的方法定义。方法定义比较独特,具体格式如下:

      -                (void)         setName                    :                  (NSString)  input;

方法类型       返回类型        方法名称      方法接受参数        参数类型     参数名


通用格式如下:

+/- (返回类型) 名子1:(类型1) 参数1 名子2:(类型2) 参数2 ... 


前面带有减号(-) 的方法为实例方法,必须使用类的实例才可以调用的。

对应的有+号, 代表是类的静态方法,不需要实例化即可调用。


一个参数的方法定义:

-  (void) setName: (NSString*) input;


二个参数的方法定义:

- (void) setName: (NSString*) input  andSecondName:(NSString*) input1;



//******************************************************************************************************************************************


                                                                    Objective-c 类实现 (@implementation)


在用@interface声明类之后,可以使用@implementation进行实类的实现。类的实现的具体语法如下:

[cpp] view plaincopy
  1. @implementation 类名  
  2.        方法实现代码;  
  3. @end;  

实例:


[cpp] view plaincopy
  1. @implementation Person  
  2. - (NSString*) name {  
  3.          return name;  
  4. }  
  5. - (int) age {  
  6.       return age;  
  7. }  
  8. - (void) setName: (NSString*) input {  
  9.      name = input;  
  10. }  
  11. - (void) setAge: (int) input {  
  12.       age = input;  
  13. }  
  14. @end;  

类的实现代码以@implementation开始,以@end结束。

这部分代码通常都是放在.m文件中。








转自ztp800201

0 0
原创粉丝点击