前面我们知道了类和对象的关系, 也知道了面向对象的核心就是对象, 那么我们运用之前所学到的知识来创建我们的第一个OC类, 下面让我们来看看.
下面我们来看一个例子:
#import <Foundation/Foundation.h> @interface Car : NSObject { @public int wheels; int speed; } - (void)run; @end @implementation Car - (void)run { NSLog(@"汽车跑起来啦~~"); } @end int main() { Car *p = [Car new]; Car *p2 = [Car new]; p->wheels = 8; p->speed = 120; p2->wheels = 9; p2->speed = 320; [p run]; [p2 run]; NSLog(@"这个车子有%d个轮子, 它的最高时速是%dkm/h", p->wheels, p->speed); NSLog(@"这个车子有%d个轮子, 它的最高时速是%dkm/h", p2->wheels, p2->speed); return 0; }
在OC里面设计类, 我们必须得按照下面这样子的格式来写
@interface Car : NSObject @end
@implementation Car @end
int main() { return 0; }
在@interface这里, 一直到第一个@end这段距离里, 我们是用来声明成员变量还有声明方法名, 在这里又有三个关键字:
@public (表示声明的成员变量是公开的, 也就是哪里都可以使用这些成员变量)
@protected(表示声明的成员变量只能在本类或者继承了该类的子类才能使用)
@private(表示只能在自己本身这个类里使用, 其他类不能调用)
而在@implementation一直到第二个@end里面是用来实现方法里面的功能.
最后在main()函数里编写执行代码, 这就是我们第一个OC类
注意细节:
1. 在OC里面, 方法名都是以 " - "开头
2. 所有的成员变量都必须写在@interface的大括号里面" {} " .
3. @interface大括号" {} " 外是用来声明方法名.
4. 而@implementation里面则是用来实现方法里面的内容.
5. 方法里面的数据类型, 必须以" () " 括住, 比如- (void)XXX.
6. 在@interface和@implementation后面必须得加@end, 否则会报错.
7. 类名 : NSObject这个东西后面会仔细讲解
好了今天我们就讲到这里, 下次我们继续~~