Objective-Cのメッセージ式とJava
Objective-Cにおいてメッセージ式は、
セレクタ:(型)仮引数
と書きます。これを使う際、仮引数はIDEから見えません。
Javaだと、
メソッド名(型 仮引数)
で、IDEから仮引数が見えます。
このとき、引数が一つであればたいした違いはないのですが、
セレクタ:(型)仮引数 セレクタ:(型)仮引数 セレクタ:(型)仮引数
と
メソッド名(型 仮引数,型 仮引数,型 仮引数)
だと、メッセージ式の場合、メソッドの定義時にセレクタと仮引数がかぶる傾向があります。どうせ使う際には片方しか見えないんだからいいよね、というのはあるのですが、何となく冗長です。ついでに、引数がオブジェクト型の場合、
string:(NSString*)aString object:(NSObject*) aObject
と型の名前ともかぶる傾向があります。ま、これくらい許せよって感じですが。
そういや、C#を初めて使ったとき、
method(String String)
という書き方に面食らいましたっけ。仮引数に型の名前そのまま使えるのかと。
しかし、Java,Objective-C,C++,C#と一時期に同時に使うといろいろ混乱しますな。