Object-C 语法基础

Object-C

和C语言有不少的类似之处,
比如语法的基本变量类型几乎一致,
循环分支相似(其实大部分高级语言比如Java C++在这一点上是由有共同性的,
基本都继承了C语言的特点).

Object-C总体的风格上比较古怪,主要体现在对象和方法上.
无论是Java亦或是C++,调用某个对象的方法是这样做的:
    ctx.method(5);
然而OC上用中括号来进行:
    [ctx method:5];

oc的语法看起来部分相似于C++ 比如继承都为 child : parent

关键字

oc的关键字均以@符号标注

oc class

oc和C++类似 接口和实现分离
类定义在头文件中 实现在.m文件中
C++中的类定义:
class test {
public:
    void call(int n);

private:
    int mVal;
};

@interface起始 @end结束
oc:
@interface test : NSObject {
@private //变量的属性
    int mVal;
}

-(void) call: (int)n; // 方法call
@end

@implementation起始 @end结束
oc:
@implemnetation test

-(void) call: (int) n
{
    NSLog(@"hello object-c");
}
@end

self & super

C++类中this是指向自身的指针

oc的self指针同样指向自身 super则指向父类

构造和析构

C++中的类构造和析构函数和类名相关
class test {
public:
    test() {}
    ~test() {}
};

而oc中每个类的构造和析构函数是一致的
-(id) init
{
    if (self = [super init])
    {

    }
    return self;
}

-(void) dealloc
{
    [super dealloc];
}

方法

oc的方法在.m中实现
-符号意为非静态方法 对应的还有+符号对应静态方法
call为方法名
n和n2是函数的参数名
-(void) call: (int) n: (int) n2
{

}

你可能感兴趣的:(object-c)