OC 中类的声明和定义

来源:互联网 发布:2012中国网络购物规模 编辑:程序博客网 时间:2024/05/16 12:16
  
/* 1;声明类: @interface 和 @end 之间    *类名    *继承NSOBject    * 属性    *方法(只需声明,不需实现) 2:实现:@implementation 和 @end 之间     * 实现@interface声明的方法 */#import <Foundation/Foundation.h>@interface Dog:NSObject{    @public    int speed;}-(void)run;//方法的实现@end@implementation Dog-(void)run{    NSLog(@"速度为%i的狗跑起来了!",speed);    }@endint main(int argc,char *argv[]){    Dog *d = [Dog new];    d->speed = 100;    [d run];    return 0;}

注意:

       1:如果有类的声明没有类的实现:编译会成功,但是链接失败   

#import <Foundation/Foundation.h>@interface Dog:NSObject{    @public    int speed;}-(void)run;//@end@implementation Dog//-(void)run//{//    NSLog(@"速度为%i的狗跑起来了!",speed);//    //}@endint main(int argc,char *argv[]){    Dog *d = [Dog new];    d->speed = 100;    [d run];    return 0;}

  2:如果声明中没有方法的声明,程序不会报错,没有影响,因为main函数在执行[d run]的方法时,会首先在声明中查找run方法,如果没有直接在实现中找方法;

  3:成员变量不能在{}中进行初始化,不能被直接拿出去访问

  4:方法不能当作函数一样调用,方法必须建立在对象的基础上,没有对象,不能访问方法

  5:函数属于整个文件,在文件的任意地方都能调用,对象方法只属于对象,只有对像才能调用对象方法

  6:对象方法只能声明在@interface 和 @end之间 ,实现只能在@implementation 和@end 之间,函数的声明和定义可以写在任意地方,函数不能归某个类所有,只属于文件,

  7:C函数不能访问OC对象的成员变量




0 0
原创粉丝点击