User:BurusB/sandbox

A tudásreprezentálásba, objektumorientált programozás és dizájnban [is-a] az absztrakciók egymáshoz viszonyított összefüggése (például típusok, osztályok), ahol az egyik A osztály egy másik B osztály alosztálya (tehát B az A szuperosztálya). Más szavakkal, az A típus egy altípusa B típusnak amikor A-nak specifikációja utal B specifikációjára. Vagyis bármely olyan objektum (vagy osztály), amely megfelel az A specifikációjának, szintén megfelel a B specifikációnak, mert B specifikációja gyengébb.

A is-a kapcsolat ellentétben áll a has-a kapcsolatal, a típusok (osztályok) között; ezen kapcsolatok összekeverése egy általános hiba, amikor egy objektum és az alárendelt közötti valós kapcsolat modelljét (például egy Program (informatika)) tervezünk.

Összegezve a kapcsolatokat, vannak

//TODO hyperonym–hyponym **
 * hiperoníma - hiponíma (szupertipus, altipus) kapcsolat

Példák az altípusozásra
Az altípusozás lehetővé teszi egy adott típus helyettesítését egy másik típuslal vagy absztrakcióval. Az altípusozás is-a kapcsolatot hoz létre az altípus és néhány létező absztrakció között, akár implicit, akár explicit módon, a nyelvi támogatástól függően. A kapcsoalt egyértelmüen kifejezhető öröklődéssel azon nyelvekben amelyek támogatják az öröklődést, mint altípusozó mechanizmus.

C++
A következő C++ kód egyértelmű öröklési viszonyt hoz létre B és A osztályok között, ahol B egyszerre egy alosztálya és altípusa is A osztálynak, és A-ként használható, ahol B van megadva (referenciaként, egy mutató vagy objektum maga).

Python
A következő python-kód határozott öröklési viszonyt hoz létre a B és A osztályok között, ahol B egyszerre egy alosztálya és altípusa is A-nak,ezért használható A-nak, ahol B-re van szükség.

//TODO UNDER PYTHON