object-c 多参数方法(转)

一直被Object多参数方法迷惑,这下总算搞清楚了!!!lady gaga!!!!!

1.应该这么理解方法定义:

-(void) setWord1:(NSString *) word1 setWord2:(NSString *) word2

“setWord1:setWord2:”是方法名,word1和word2是参数名。你所谓的参数2的名称(setWord2)其实是方法名的一部分,而不是参数名。objective-c的发明者希望方法名读起来像一个通顺的句子,结合这点来理解方法定义,就不会对objective-c怪异的语法感到困惑了。

例如,定义一个求两个数的和的方法,

-(float) addNumber1:(float)num1 toNumber2:(float)num2;

方法名“addNumber1:toNumber2:”读起来就像一个通顺的句子。

2.再来看看其他语言怎么定义多参数函数,就当增长下见识。(这段转载的)

1.

C/C++

public

voidsay(char*

word1,char* word2)

2.

JAVA

public

voidsay(String

word1,String word2)

3.

C#(跟Java一模一样)

public

voidsay(String

word1,String word2)

4.

VB

Public

function fun1(word1 as string,word2 as string) as string

5.

JS是一个动态语言不需要类型所以只需要定义参数即可

functionsay(word1,word2)

6.

Php

functionsay($word1,$word2)

7.

Python(动态语言不需要类型,类似JS)

defsay(word1,word2)

8.

ActionScript(动态语言不需要参数)

functionsay(word1,word2)

9.

Perl (好奇心起把这个也找出来了)

subsay{($word1,$word2)

=@_//@_代表参数名称

}

    原文作者:写代码的八爪鱼
    原文地址: https://www.jianshu.com/p/c2392234c444
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞