objective-C メソッド

obj-C、正直、戸惑う表現が多い。

メソッド定義の時に、引数が沢山あるように思えるコードが良く出て来て、色んなサイトや本では、適当に流されている。

ここに良い説明があった。
http://www.atmarkit.co.jp/fcoding/articles/objc/03/objc03b.html

e. 引数が2つと戻り値があるメソッド
– (NSString *)myMethod5:(NSString *)argString
myInt:(int)argInt;

↓メソッドの実行例
NSString *result = [test myMethod5:@”test” myInt:5];

これが分からなかった。
引数のそれぞれにキーがあって、それぞれの引数の役割が想像出来るようになっている。これはいい。
PHPやjavascriptみたいに

myMethod(a,b,c){ }

ではa,b,cの役割が分からないし、順番が違うと機能しない。(だからarrayで渡すという手もあるのだが)

じゃ、いったい、メソッド名は何なのだ?

ただキーと型を並べてるだけじゃないか、と思う。

上記のメソッド名は、

myMethod5 : myInt :

という事らしい。

???キーを並べるというメソッド名の定義は、とても違和感がある。

例えば、「底辺と高さから三角形の面積を計算する」というメソッドを作りたい場合、

他の言語で言えば、

getArea (teihen, takasa)

としたい所、obj-cでは

teihen : takasa :

となるのだろうか?「面積を出す」という機能は連想出来ないではないか?

しかし、これならこれで、諦めて覚えるしかないですね。

コメント

タイトルとURLをコピーしました