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