一、Objective-C与C++的区别
Objective-C是一门面向对象的编程语言:它可以对类和对象进行管理;像在C++中一样,把头文件和实现文件分开写是非常有用的。OC使用.h作为头文件的后缀,使用.m作为实现文件的后缀。并且在OC中,使用 #import 包含头文件,而不是 #include。事实上,在c语言或者C++语言中,为了防止头文件被重复包含,需要使用头文件预处理防止头文件的重复包含。#import本身就有防止头文件被重复包含的功能。
二、类的定义
接口部分(.h文件)
@interface className:parentClass <protocol,…>
{
//instanceVariable Declarations
//实例变量的声明(相当于c++数据成员)
}
//method declarations
//方法的声明(相当于c++成员函数)
@end
ObjC定义了一个根类:NSObject。每一个新建的ObjC类都应该为NSObject的派生类。NSObject为运行时系统提供了大量的方法。
方法声明
mType (returnType) name1:(type1)param1 name2:(type2)param2...
//方法类型(返回值类型) 方法名1:(参数1类型)参数名 方法名2:(参数2类型)参数2名称..
方法分为两种:类方法和实例方法 即方法中的方法类型mType分为两种:分别用 “+” 和 “-” 标识。
• 如果类型为 +,则表示方法类方法(相当于c++中的静态成员函数)
• 如果类型为 - ,则表示方法为实例方法(相当于c++中的非静态成员函数)
三、类的实现
实现部分(.h文件)
@implementation className//类代码实现的开始
Synthesized Property