Object-c中的点语法

               

在Object-c2.0中,为了方便其他语言,比如C,java程序员快速的熟悉Object-C的变成风格,加入了点语法,以前

的Object-C都是使用中括号调用的方法,这样会令C,java的程序员很不习惯,下面就来介绍一下Object-C里面的点语

法是怎么一回事。


首先建立一个类,其中的.h头文件如下

#import <Foundation/Foundation.h>@interface DotSyn : NSObject{    int _age;}- (void) setAge: (int) newAge;- (int) age;@end

然后是实现文件
#import "DotSyn.h"@implementation DotSyn- (void) setAge: (int) newAge{    age = newAge;}- (int) age{    return age;}@end

然后既可以在主函数文件里面写代码了,我会分别使用经典方式和点语法写出来

#import <Foundation/Foundation.h>#import "DotSyn.h"int main(int argc, const char * argv[]){    @autoreleasepool {                Dog *dog1 = [Dog alloc];        dog1 = [dog1 init];               int ID = [dog1 getID];        int age = [dog1 getAge];        float price = [dog1 getPrice];                NSLog(@"id=%d, age = %d price = %f",ID,age,price);                DotSyn *dot = [[DotSyn alloc] init];                [dot setAge:100];        int age = [dot age];        NSLog(@"age is %d\n",age);                //上面的经典方式,下面讲采用点方式                dot.age = 200;        age = dot.age;                NSLog(@"new age is %d\n",age);            }    return 0;}

可以看到,使用点语法会让函数的调用非常简单而且代码简洁,但是在生命和实现的时候貌似有些复杂,这里其实还

是又其他的方法可以让这种悲催的苦逼活交给编译器来干,下面我们是用另外一种方式来实现这个东西。

下面还是先看.h文件

#import <Foundation/Foundation.h>@interface DotSyn : NSObject{    int _age;}@property int age;@end

然后是.m文件

#import "DotSyn.h"@implementation DotSyn@synthesize age = _age;@end
可以看到,这样的实现是非常简单的,

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43679366/article/details/86995100