Co to jest hierarchia klas?

Hierarchia klas, zwana także taksonomią klas, jest grupą powiązanych klas, które są połączone poprzez dziedziczenie, aby wykonywać podobne rzeczy. Szczyt hierarchii może być pojedynczą klasą bazową, z której wywodzą się wszystkie pozostałe klasy poniżej, lub hierarchia może mieć wiele klas bazowych, których funkcje łączą się później w jedną lub więcej klas pochodnych. Relacje między klasami można zilustrować jako drzewa, a każde mniejsze drzewo w ramach 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 napisany. C ++ pozwala na wielokrotne dziedziczenie, więc złożone hierarchie można budować z wielu korzeni i wielu drzew, które łączą się ze sobą. Z drugiej strony Java® jest ograniczona do pojedynczego dziedziczenia, więc jej relacje klasowe są zwykle prostsze, zbudowane jako względnie samodzielne drzewa z jednym rdzeniem. Dziedziczenie interfejsu może zwiększyć złożoność hierarchii klas w Javie, ale interfejsy prawie nigdy nie są wywoływane w tak złożonej strukturze, że byłoby to jak łączenie drzew.

Składniki hierarchii klas mogą różnić się typem i funkcją, o ile reguły języka są zawsze przestrzegane w odniesieniu do dziedziczenia. Klasy w hierarchii mogą być publiczne, chronione, abstrakcyjne, konkretne lub wirtualne. Można także używać interfejsów, funkcji globalnych i znajomych. W zależności od języka komputera niektóre z tych typów mogą lepiej nadawać się do dziedziczenia niż inne. Zasadniczo hierarchie są bardzo elastyczne i mogą być wykorzystywane na wiele sposobów do wielu celów.

Nie ma twardych reguł dotyczących tego, gdzie poszczególne typy klas muszą być umieszczone w hierarchii. Każda klasa może być dowolnym z wymienionych wyżej typów. Ogólnie rzecz biorąc, ostatnie klasy w hierarchii, które nie mają żadnych pochodnych klas pod nimi, powinny być publiczne i konkretne. Ponieważ jednak mogą istnieć czysto abstrakcyjne hierarchie klas, jest to tylko ogólna zasada.

Chociaż hierarchia klas może być użytecznym narzędziem do porządkowania kodu i enkapsulacji funkcjonalności, może się zdarzyć, że zagłębienie się w hierarchię może faktycznie pomylić kod, zamiast go wyjaśnić i ułatwić utrzymanie. Budowanie solidnych relacji między wieloma klasami wymaga pewnego przewidywania; chociaż początkowo może być łatwiej rozbić kod na wiele małych kawałków, te małe kawałki mogą stać się trudniejsze w późniejszym użyciu. Prawidłowo zbudowana hierarchia klas pomaga zarówno programistom, jak i użytkownikom w określeniu sposobu działania klas. Jeśli zostanie zbudowany bez konserwacji i jasności, wiele poziomów dziedziczenia może być mylące, gdy patrzy się wstecz i rozumie.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?