A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

@interface和@implementation的分工
Objective-C <wbr>- <wbr>OC中类的声明和实现

@interface就好像暴露在外面的时钟表面
@implementation就好像隐藏在时钟内部的构造实现

常见错误:
只有类的声明,没有类的实现
漏了@end
@interface和@implementation嵌套
两个类的声明嵌套
成员变量没有写在括号里面
方法的声明写在了大括号里面

语法细节:
成员变量不能在{}中进行初始化,不能被直接拿出去访问
方法不能当做函数一样调用
成员变量/方法不能用static等关键字修饰,别跟C语言混在一起(暂时忽略)
类的实现可用写在main函数的后面,主要在声明后面就行了

OC方法和函数的区别
OC方法只能声明在@interface和@end之间,只能实现在@implementation和@end之间。也就是说OC方法不能独立于类村
C函数不属于类,跟类没有联系,C函数只归定义函数的文件所有
C函数不能访问OC对象的成员
低级错误:方法有声明,但是实现的时候写成了函数

@implementation
没有@interface,只有@implementation,也是能成功定义一个类的
@implementation Car : NSObject
{
    @public
    int wheels;
    int speed;
}
-(void) run
{
    NSLog(@"%i个轮子,%i时速的车子跑起来了", wheels, speed);
}
@end

@imlementation中不能声明和@interface一样的成员变量

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马