メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2012年6月21日木曜日

[Objective-C][お勉強][メモ] ポリモーフィズム

異なるオブジェクトでも同じセレクタ名を持つのであれば
同じメッセージに対して、応答することができる。

@implementation ObjBase;
- (void)methodBase:(id)obj
{
  [obj methodYahoo];
}
@implementation ObjA;
- (void)methodYahoo
{
  NSLog(@"ObjA DA YO!");
}
@implementation ObjB;
- (void)methodYahoo
{
  NSLog(@"ObjB DA YO!");
}

であれば、

[[[ObjBase alloc] init] methodBase:[[ObjA alloc] init]];

がいけるとすれば、

[[[ObjBase alloc] init] methodBase:[[ObjB alloc] init]];

もいけるって感じかどうなのか。
.

0 コメント: