Objective - C基础: 第一天 - 6.第一个OC类练习

189 阅读2分钟

我们知道了类和对象的关系, 也知道了面向对象的核心就是对象, 
那么我们运用之前所学到的知识来创建我们的第一个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.中括号[], 是在调用方法的时候才使用

7. 在@interface和@implementation后面必须得加@end, 否则会报错.

8. 类名 : NSObject这个东西后面会仔细讲解