Objective-C

カテゴリによるオーバーライドの例

@interface NSObject (BetterHash)
- (unsigned)hash;
@end

@implementation NSObject (BetterHash)
// 子孫クラスのうち、独自のオーバーライドのない-hashは全てこの実装に置き換わる
- (unsigned)hash {
    return better_hash_function(self);
}
@end

戻る