Skip to main content

Co to jest hierarchia klasowa?

Hierarchia klasowa, zwana również taksonomią klasową, to grupa powiązanych klas, które są połączone 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 jego językaNapisane. C ++ pozwala na wiele dziedzictwa, więc złożone hierarchie można budować z wieloma korzeniami i wieloma drzewami, które łączą się ze sobą.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 może dodać pewną złożoność hierarchii klas w Java , ale interfejsy prawie nigdy nie są wywoływane w tak złożonym strukturze, że byłoby to jak łączenie drzew razem.

Składniki hierarchii klasowej mogą różnić się typem i funkcją.Długo, podobnie jak zasady 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 mają żadnych pochodnych klas pod nimi, powinny być publiczne i konkretne.Ponieważ mogą istnieć również czysto abstrakcyjne hierarchie klas, jest to jednak tylko zasada.faktycznie pomyl 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ć.