object-c中的点调用和权限-创新互联

1.如果你学过JAVA语言的的话,点调用的经常使用到的。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册网站空间、营销软件、网站建设、湖北网站维护、网站推广。

在JAVA中创建一个学生类:

publicclass student {

private String name;

private String age;

publicvoid setName(String name){

this.name  = name;

}

public String getName(){

returnname;

}

}

如果我们要调用student中的setName方法直接使用创建student.setName("张三")就可以使用setName方法,由于在JAVA中我们的类的属性通常都是私有的不可以直接调用的。所以要调用set方法设置值.

2.上面的例子只是回顾下什么叫做点调用:Object-c例子:

//-------------------------------------------------------------定义文件

#import

@interface what : NSObject{

@public

int _age ;

@public

int _number;

}

-(void) setAge:(int) newAge;

-(int) age;

-(void) setNumber:(int) newNumber;

-(int) number;

@end

//-------------------------------------------------------------实现文件

#import "what.h"

@implementation what

-(int)age{

NSLog(@"age的get方法");

return_age;

}

-(void)setAge:(int)newAge{

NSLog(@"age的set方法");

_age = newAge;

}

-(int)number{

NSLog(@"number的get方法");

return_number;

}

-(void)setNumber:(int)newNumber{

NSLog(@"numbe的get方法");

_number = newNumber;

}

@end

//-------------------------------------------------------------main方法

#import

#import "what.h"

int main(int argc, constchar * argv[])

{

@autoreleasepool {

what *my  = [[whatalloc] init];

    //这里调用了setAge

    my.age = 20;

    //这里调用了setNumber

    my.number = 100;

    //这里调用了get方法

    NSLog(@"my age is %i;and my number is %i",my.age,my.number);

  }

return0;

}

------------------------------------------------------------------

当我们运行上面的程序后会打印:

2014-04-15 23:04:51.400 点调用[588:303] age的set方法

2014-04-15 23:04:51.402 点调用[588:303] numbe的get方法

2014-04-15 23:04:51.402 点调用[588:303] age的get方法

2014-04-15 23:04:51.402 点调用[588:303] number的get方法

2014-04-15 23:04:51.403 点调用[588:303] my age is 20;and my number is 100

------------------------------------------------------------------

从打印的结果来看,我们的Objec-c在使用点调用的时候,调用的是get或者set方法。

把打印的代码修改一下:

NSLog(@"my age is %i and my number is %i",my->_age,my->_number);

打印结果为:

------------------------------------------------------------------

2014-04-15 23:08:11.194 点调用[632:303] age的set方法

2014-04-15 23:08:11.204 点调用[632:303] numbe的get方法

2014-04-15 23:08:11.205 点调用[632:303] my age is 20 and my number is 100

------------------------------------------------------------------

从上面的打印可以看出我们没有调用get方法。

3.这里我要补充一下,这里我们使用了到了Object-c中的权限关键字:@public,

Object-c中权限有3种:

@public:任何类都可以方法

@protected:子类可以访问

@private:本类可以访问

在Object-c中默认的权限是@protected,也就是说子类可以访问。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:object-c中的点调用和权限-创新互联
链接分享:http://scyanting.com/article/ddgjjo.html