Úvodní stránka | Tato stránka v originále

Sebepozorování typu

V práci na počítači, sebepozorování typu je schopnost nějakého objektově orientovaného programování languagess určovat druh objektu u provozní. Toto je pozoruhodná schopnost Cíl C jazyk.

V Cíl C, například, oba druhový objekt a NSObject (v Kakau/OpenStep) poskytovat metodu isMemberOfClass: který se vrátí pravdivý jestliže argument k metodě je příklad specifikované třídy. Metoda isKindOfClass: analogously se vrátí pravdivý jestliže argument zdědí od specifikované třídy.

Například, říkat, že my máme Štěně a Kotě prvotřídní zdědit od Zvíře, a Veterinář prvotřídní.

Nyní, v desex metoda my můžeme psát

- desex: (id) k _ desex {jestliže ([ k _ desex isKindOfClass: [třída zvířete ]]) {/ / my jsme vlastně desexing zvíře, tak pokračovat jestliže ([ k _ desex isMemberOfClass: [třída štěněte ]]) desex _ pes (k _ desex); jinde jestliže ([ k _ desex isMemberOfClass: [třída kotěte ]]) desex _ kočka (k _ desex); jiná chyba ();} jinde {chyba ();}}

Nyní, když desex je volán s generickým objektem ( id), funkce bude chovat se správně se spoléhat na druh druhového objektu.

Sebepozorování typu může být používáno realizovat polymorfizmus.