[OC学习笔记]对象

oc是一门以c为基础的面向对象语言,C++也是,在此笔记中将两者进行对比学习

下面以一个OC实体对象的声明以及实现为例:

#import <Foundation/Foundation.h>

@interface Fraction : NSObject // 接口部分,相当于C++的头文件(.h)

-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenomiator: (int) d;

@end                                // 以这个结尾

@implementation Fraction // 实现部分,相当于C++的源文件(.cpp)
{
    int numerator;
    int denominator;
}

-(void) print
{
    NSLog(@"%i/%i", numerator, denominator);
}

-(void) setNumerator: (int) n
{
    numerator = n;
}

-(void) setDenomiator: (int) d
{
    denominator = d;
}

@end

int main(int argc, char* argv[])
{
    @autoreleasepool {
        Fraction *myFraction;

        myFraction = [Fraction alloc];
        myFraction = [myFraction init];

        [myFraction setNumerator: 1];
        [myFraction setDenomiator: 3];

        NSLog(@"The Value of MyFraction is:");
        [myFraction print];
    }

    return 0;

方法中的减号(-)表示这个方法是一个实例方法,加号(+)表示是类方法(猜测就像c++里面的static方法)

在这里把所有东西写在一个文件是不太规范的

你可能感兴趣的:(oc)