当前位置:  开发笔记 > 编程语言 > 正文

Smalltalk风格的消息与C风格的功能

如何解决《Smalltalk风格的消息与C风格的功能》经验,为你挑选了1个好方法。

我什么时候应该使用消息而不是C风格的函数?



1> e.James..:

Objective-c为您做出区分.消息必须发送到对象,但可以随时使用功能.

消息:

Objective-C的消息只能被发送到对象,消息系统是作的一类方法的调用方式.

例:

// a class interface definition
// including a method named aMethod
@interface ANObject
{

}
- (void)aMethod;
@end


// a message sent to that object:
ANObject * myObject = [[ANObject alloc] init];
[myObject aMethod]; // <-- message
[myObject release];

功能:

Objective-C继承了所有的C语言,因此当情况需要时,支持C风格的函数调用,甚至鼓励它们.Objective-C对象只是作为指针传递,因此您仍然可以将它们作为参数传递给函数.当然,关于将指针传递给函数的常见注意事项和规则应该得到尊重.

例:

// a regular C-style function
void someFunction(ANObject * argument)
{
    // do something here...
}


// and how to call it:
someFunction(someObject);

何时使用?

当您想要访问某个对象/类的某些属性时,请使用消息/方法.好的例子是访问NSString的长度:

int stringLength = [myString length];

设置属性的值:

[myObject setHidden:YES];

或告诉对象执行某项任务:

[myAccount withdrawMoneyAndDriveToMexico];

如果要执行不属于某个类的任务,请使用C风格的函数 ; 应该独立的东西.好的例子是数学函数,例如:

double degrees = ConvertRadiansToDegrees(radians);

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有