Co to jest hierarchia klasowa?

Hierarchia klasowa, zwana również taksonomią klasową, to grupa powiązanych klas, które są powiązane poprzez dziedziczenie, aby robić podobne rzeczy. Górna hierarchia może być pojedynczą klasą podstawową, z której pochodzą wszystkie inne klasy poniżej, lub hierarchia może mieć wiele klas podstawowych, których funkcje łączą się w późniejszej jednej lub więcej klas pochodnych. Relacje między klasami można zilustrować jako drzewa, a każde mniejsze drzewo w dużej taksonomii można również uznać za hierarchię.

Nie wszystkie hierarchie klas mogą mieć wiele korzeni, a struktura dowolnej hierarchii klas zależy w dużej mierze od języka, w którym jest zapisany. Z drugiej strony Java® ogranicza się do pojedynczego dziedziczenia, więc jego relacje klasowe są zwykle prostsze, zbudowane jako stosunkowo samodzielne drzewa z jednym korzeniem. Dziedziczenie interfejsu cDodaj pewną złożoność do hierarchii klas w Java®, ale interfejsy prawie nigdy nie są wywoływane w tak złożonym ramie, że byłoby to jak łączenie drzew.

Składniki hierarchii klasowej mogą się różnić w rodzaju i funkcji, o ile reguły języka są zawsze przestrzegane w odniesieniu do dziedziczenia. Zajęcia w hierarchii mogą być publiczne, chronione, abstrakcyjne, konkretne lub wirtualne. Można również użyć interfejsów, globalnych funkcji i przyjaciół. W zależności od języka komputerowego niektóre z tych typów mogą lepiej nadać się na dziedziczenie niż inne. Zasadniczo hierarchie są bardzo elastyczne i mogą być używane na wiele sposobów na wiele celów.

Nie ma twardych zasad dotyczących tego, gdzie określone typy klas muszą być umieszczone w hierarchii. Każda klasa może być dowolnym z wyżej wymienionych typów. Ogólnie rzecz biorąc, ostatnie klasy w hierarchii, które nie są wyprowadzoneZajęcia pod nimi powinny być publiczne i konkretne. Ponieważ mogą istnieć również czysto abstrakcyjne hierarchie klas, jest to jednak tylko zasada.

Chociaż hierarchia klas może być użytecznym narzędziem do organizowania kodu i kapsułkowania funkcjonalności, mogą istnieć czasy, w których zagłębianie się w hierarchię może faktycznie mylić kod, zamiast go wyjaśnić i ułatwić utrzymanie. Budowanie solidnego relacji między wieloma klasami wymaga pewnego przewidywania; Chociaż początkowo może być łatwiejsze do rozbicia kodu na wiele małych kawałków, te małe kawałki mogą stać się trudniejsze do poradzenia sobie później. Po prawidłowym zbudowaniu hierarchia klas pomaga zarówno programistom, jak i użytkownikom w określeniu, jak działają klasy. Jeśli jest zbudowany bez konserwacji i jasności, wiele poziomów dziedziczenia może być mylące, aby spojrzeć wstecz i zrozumieć.

INNE JĘZYKI