Co je základní třída?
Základní třída, také nazývaná super třída, je počítačový objekt, který funguje jako základ pro jednu nebo více odvozených tříd. Jakýkoli počítačový jazyk schopný dědičnosti může vytvořit základní třídu. V závislosti na jejich přesném typu mohou nebo nemusí být základní třídy schopny inicializovat - přiřadit počáteční hodnotu k objektu - samy o sobě, ale vždy dávají nějakou společnou funkčnost jakékoli třídě, která z ní dědí. Počet odvozených tříd nebo podtříd, které základní třídy mohou mít, nikdy není omezen, ale může existovat limit, v závislosti na jazyce počítače, počet základních tříd, které odvozená třída může mít. O jazycích, které umožňují odvozené třídě mít pouze jednu základnu, se říká, že vynucují jednu dědičnost, zatímco jazyky, které umožňují odvozené třídě mít více základních tříd, používají více dědičnosti.
Základní třídy betonu lze inicializovat samostatně; to znamená, že lze vytvořit objekt typu základní třídy. Pokud je příklad třídy základem pro odvozenou třídu Příklad2, lze vytvořit objekt typu Příklad2 i objekt typu Příklad. Objekt typu Příklad může být vytvořen pouze explicitním voláním pro tento typ objektu; vytvoření objektu typu Příklad2 nevytvoří sekundární objekt typu Příklad. V každém případě vytvářený typ objektu vytváří pouze vlastní instanci.
Naproti tomu abstraktní základní třídy nemohou být inicializovány samy o sobě, což znamená, že objekt základní třídy nemůže být vytvořen sám o sobě. Pokud je třída Příklad3 abstraktní základnou pro odvozenou třídu Příklad4, lze vytvořit pouze objekt typu Příklad4. Přestože typ Příklad4 obsahuje data z typu Příklad 3, pokus o vytvoření objektu pouze typu Příklad3 povede k chybě. Tato funkce může být občas užitečná, zejména pokud třída Příklad 3 obsahuje soukromá data, která by měla být přísně regulována.
V závislosti na jazyce, ve kterém se objeví, může mít základní třída mírně odlišné chování a výrazně odlišné názvy. V Java® jsou základní třídy vždy označovány tímto názvem, zatímco v C ++ je lze v závislosti na jejich struktuře nazývat virtuální třídy. Rozdíly v názvu a funkčnosti, přestože jsou významné z hlediska používaných počítačových jazyků, neznamenají zásadní rozdíly v principu tříd. Základní třída se vždy používá k zapouzdření běžné funkčnosti a dat pro odvozené třídy, bez ohledu na jazyk.