Co je to třídní hierarchie?
Hierarchie třídy, která se také nazývá taxonomie třídy, je skupina souvisejících tříd, které jsou propojeny dědictvím, aby dělaly podobné věci. Horní část hierarchie může být jediná základní třída, ze které jsou odvozeny všechny ostatní třídy pod ní, nebo hierarchie může mít několik základních tříd, jejichž funkce se sloučí později v jedné nebo více odvozené třídě. Vztahy mezi třídami mohou být ilustrovány jako stromy a každý menší strom v rámci velké taxonomie lze také považovat za hierarchii.
Ne všechny hierarchie třídy mohou mít více kořenů a struktura hierarchie třídy, do kterého je napsána. Java® je naproti tomu omezena na jedno dědičnosti, takže jeho třídní vztahy jsou obvykle jednodušší, postavené jako relativně samostatné stromy s jediným kořenem. Dědičnost rozhraní cPřidejte určitou složitost hierarchii třídy v Java®, ale rozhraní téměř nikdy nejsou vyvolána v tak složitém rámci, že by to bylo jako spojit stromy dohromady.
Komponenty hierarchie třídy se mohou lišit podle typu a funkce, pokud jsou pravidla jazyka vždy sledována s ohledem na dědičnost. Třídy v hierarchii mohou být veřejné, chráněné, abstraktní, konkrétní nebo virtuální. Mohou být také použita rozhraní, globální funkce a přátelé. V závislosti na počítačovém jazyce se některé z těchto typů mohou lépe hodit dědictví než jiné. Obecně jsou hierarchie velmi flexibilní a mohou být použity mnoha způsoby pro mnoho účelů.
Neexistují žádná tvrdá pravidla týkající se toho, kde musí být v hierarchii umístěny konkrétní typy tříd. Jakákoli třída může být některý z výše uvedených typů. Obecně, poslední třídy v hierarchii, které nemají žádné odvozeníTřídy pod nimi by měly být veřejné a konkrétní. Protože však mohou existovat také čistě abstraktní hierarchie třídy, jedná se však pouze o pravidlo.
Ačkoli hierarchie třídy může být užitečným nástrojem pro organizaci kódu a zapouzdření funkčnosti, mohou existovat časy, kdy se ponoření příliš hluboko do hierarchie může skutečně zmást kód, než aby jej objasnilo a usnadnilo údržbu. Budování robustního vztahu mezi mnoha třídami vyžaduje určité množství předvídání; I když by to bylo zpočátku snazší rozdělit kód na mnoho malých kusů, tyto malé kousky se mohou později zvládnout později. Při správném postavení třídní hierarchie pomáhá vývojářům i uživatelům při určování, jak třídy fungují. Pokud je postaven bez údržby a jasnosti, může být mnoho úrovní dědictví matoucí se ohlédnout a porozumět.