Skip to main content

Was ist Klassenhierarchie?

Eine Klassenhierarchie, auch eine Klassentaxonomie genannt, ist eine Gruppe verwandter Klassen, die durch Vererbung mit ähnlichen Dingen verbunden sind.Die Oberseite der Hierarchie kann eine einzelne Basisklasse sein, aus der alle anderen Klassen darunter abgeleitet sind, oder die Hierarchie kann mehrere Basisklassen haben, deren Funktionen später in einem oder mehreren abgeleiteten Klassen zusammenschließen.Die Beziehungen zwischen den Klassen können als Bäume veranschaulicht werden, und jeder kleinere Baum innerhalb der großen Taxonomie kann auch als Hierarchie angesehen werden.

Nicht alle Klassenhierarchien können mehrere Wurzeln haben, und die Struktur einer Klassenhierarchie hängt weitgehend von der Sprache ab, ihregeschrieben in. c ++ ermöglicht mehrere Vererbung, so dass komplexe Hierarchien mit mehreren Wurzeln und mehreren Bäumen erstellt werden können, die sich ineinander verschmelzen.Java , andererseits ist auf ein einzelnes Vererbung beschränkt, sodass seine Klassenbeziehungen normalerweise einfacher sind und als relativ in sich geschlossene Bäume mit einer einzigen Wurzel gebaut wurden.Die Interface -Vererbung kann einer Klassenhierarchie in Java reg;, aber Schnittstellen werden fast nie in einem so komplexen Framework aufgerufen, dass es sich um das Zusammenführen von Bäumen handelt.

Die Komponenten einer Klassenhierarchie können in Typ und Funktion variieren, wieSolange die Sprachregeln immer in Bezug auf die Erbschaft befolgt werden.Klassen in einer Hierarchie können öffentlich, geschützt, abstrakt, konkret oder virtuell sein.Schnittstellen, globale Funktionen und Freunde können ebenfalls verwendet werden.Abhängig von der Computersprache können sich einige dieser Typen besser für die Vererbung eignen als andere.Im Allgemeinen sind Hierarchien sehr flexibel und können für viele Zwecke in vielerlei Hinsicht verwendet werden.

Es gibt keine harten Regeln, wo bestimmte Arten von Klassen in eine Hierarchie platziert werden müssen.Jede Klasse kann möglicherweise eine der oben genannten Typen sein.Im Allgemeinen sollten die letzten Klassen in der Hierarchie, die keine abgeleiteten Klassen darunter haben, öffentlich und konkret sein.Da es sich auch um rein abstrakte Klassenhierarchien handelt, ist dies jedoch nur eine Faustregel.

Obwohl eine Klassenhierarchie ein nützliches Instrument sein kann, um Code zu organisieren und die Funktionalität zu verkörpernVerwechseln Sie den Code tatsächlich, anstatt ihn zu klären und die Wartung zu erleichtern.Der Aufbau einer robusten Beziehung zwischen vielen Klassen erfordert eine gewisse Voraussicht;Obwohl es anfangs einfacher sein mag, Code in viele kleine Stücke zu unterteilen, können diese kleinen Stücke später schwieriger zu handhaben sein.Bei ordnungsgemäßer Erstellung hilft eine Klassenhierarchie sowohl Entwickler als auch Benutzer bei der Feststellung, wie Klassen funktionieren.Wenn es ohne Wartung und Klarheit aufgebaut ist, kann es verwirrend sein, zurückzublicken und zu verstehen.