Qu'est-ce que la hiérarchie des classes?
Une hiérarchie de classe, également appelée taxonomie de classe, est un groupe de classes connexes qui sont connectées par l'héritage pour faire des choses similaires. Le haut de la hiérarchie peut être une classe de base unique à partir de laquelle toutes les autres classes en dessous sont dérivées, ou la hiérarchie peut avoir plusieurs classes de base dont les fonctionnalités se fusionnent plus tard dans une ou plusieurs classes dérivées. Les relations entre les classes peuvent être illustrées comme des arbres, et chaque petit arbre dans la grande taxonomie peut également être considéré comme une hiérarchie.
Toutes les hiérarchies de classe ne peuvent pas avoir de racines multiples, et la structure de toute hiérarchie de classe ne dépend en grande partie de la construction de multiples roots et de multiples arbres qui fusionnent dans une autre. Java®, en revanche, est limité à l'héritage unique, de sorte que ses relations de classe sont généralement plus simples, construites comme des arbres relativement autonomes avec une seule racine. Interface Héritage CA ajouter une certaine complexité à une hiérarchie de classe dans Java®, mais les interfaces ne sont presque jamais invoquées dans un cadre si complexe que ce serait comme fusionner les arbres ensemble.
Les composants d'une hiérarchie de classe peuvent varier en type et en fonction, tant que les règles de la langue sont toujours suivies par rapport à l'héritage. Les cours d'une hiérarchie peuvent être publics, protégés, abstraits, concrets ou virtuels. Les interfaces, les fonctions globales et les amis peuvent également être utilisés. Selon le langage informatique, certains de ces types peuvent se donner mieux à l'héritage que d'autres. En général, les hiérarchies sont très flexibles et peuvent être utilisées à bien des égards à de nombreuses fins.
Il n'y a pas de règles difficiles concernant les types particuliers de classes doivent être placées dans une hiérarchie. Toute classe peut en théorie être l'un des types mentionnés ci-dessus. En général, les dernières classes de la hiérarchie qui n'ont pas dérivéLes cours en dessous doivent être publics et concrets. Étant donné que les hiérarchies de classe purement abstraites peuvent également exister, cependant, ce n'est qu'une règle de base
Bien qu'une hiérarchie de classe puisse être un outil utile pour organiser le code et encapsuler les fonctionnalités, il peut y avoir des moments où plonger trop profondément dans une hiérarchie peut réellement confondre le code, plutôt que de le clarifier et le rendre plus facile à entretenir. La construction d'une relation robuste entre de nombreuses classes prend une certaine prévoyance; Bien qu'il puisse initialement être plus facile de diviser le code en de nombreux petits morceaux, ces petits morceaux peuvent devenir plus difficiles à gérer plus tard. Lorsqu'il est construit correctement, une hiérarchie de classe aide à la fois les développeurs et les utilisateurs pour déterminer le fonctionnement des classes. S'il est construit sans maintenance et clarté à l'esprit, les nombreux niveaux d'héritage peuvent être déroutants pour regarder et comprendre.