Hvad er klassehierarki?

Et klassehierarki, også kaldet en klasses taksonomi, er en gruppe relaterede klasser, der er forbundet gennem arv for at gøre lignende ting. Toppen af ​​hierarkiet kan være en enkelt baseklasse, hvorfra alle andre klasser under den er afledt, eller hierarkiet kan have flere baseklasser, hvis funktionaliteter smelter sammen senere i en eller flere afledte klasser. Forholdene mellem klasserne kan illustreres som træer, og hvert mindre træ inden for den store taksonomi kan også betragtes som et hierarki.

Ikke alle klassehierarkier kan have flere rødder, og strukturen i ethvert klassehierarki afhænger stort set af det sprog, det er skrevet i. C ++ giver flere inheritans, så komplekse hierarchier kan bygges med flere rotter og flere trækker, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der er, der udgøres, der udgøres, der er, der er, der er, der er, der udgør, der er, der er, der er, der er, der er, der udgør, der er, der er, der er, der er, der er, der er, der udgør, der er, der er, der er, der er, der er, der udgør, der er, der udgøres, der udgøres. Java® er på den anden side begrænset til enkelt arv, så dens klasseforhold er normalt enklere, bygget som relativt selvstændige træer med en enkelt rod. Interface arv cEt tilføj en vis kompleksitet til et klassehierarki i Java®, men grænseflader påberåbes næsten aldrig i en så kompleks ramme, at det ville være som at fusionere træer sammen.

Komponenterne i et klassehierarki kan variere i type og funktion, så længe sprogreglerne altid følges med hensyn til arv. Klasser i et hierarki kan være offentligt, beskyttet, abstrakt, konkret eller virtuel. Grænseflader, globale funktioner og venner kan også bruges. Afhængigt af computersproget kan nogle af disse typer muligvis egne sig bedre til arv end andre. Generelt er hierarkier meget fleksible og kan bruges på mange måder til mange formål.

Der er ingen hårde regler for, hvor bestemte klasser typer skal placeres i et hierarki. Enhver klasse kan tænkes at være nogen af ​​de ovennævnte typer. Generelt de sidste klasser i hierarkiet, der ikke har nogen afledtKlasser under dem skal være offentlige og konkrete. Da rent abstrakte klassehierarkier også kan eksistere, er dette imidlertid bare en tommelfingerregel.

Selvom et klassehierarki kan være et nyttigt værktøj til at organisere kode og indkapsle funktionalitet, kan der være tidspunkter, hvor dykker for dybt ned i et hierarki faktisk kan forvirre koden, snarere end at afklare den og gøre det lettere at vedligeholde. At opbygge et robust forhold mellem mange klasser tager en vis mængde fremsyn; Selvom det oprindeligt muligvis er lettere at opdele kode i mange små stykker, kan disse små stykker blive vanskeligere at håndtere senere. Når det er bygget korrekt, hjælper et klassehierarki både udviklere og brugere til at bestemme, hvordan klasser fungerer. Hvis det er bygget uden vedligeholdelse og klarhed i tankerne, kan de mange niveauer af arv være forvirrende at se tilbage på og forstå.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?