Klasshierarki

En klasshierarki eller arvsträd inom datavetenskap är en klassificering av objekttyper, som betecknar objekt som instansieringar av klasser (klass är som en ritning, objektet är det som är byggt från den ritningen) som relaterar de olika klasserna genom relationer som t.ex. "ärver", "förlänger", "är en abstraktion av", "en gränssnittsdefinition". I objektorienterad programmering är en klass en mall som definierar tillståndet och beteendet som är vanligt för objekt av ett visst slag. En klass kan definieras i termer av andra klasser.

Begreppet klasshierarki inom datavetenskap är mycket likt taxonomi , klassificeringen av arter.

Relationerna specificeras i vetenskapen om objektorienterad design och objektgränssnittsstandarder definierade av populär användning, språkdesigners ( Java , C++ , Smalltalk , Visual Prolog ) och standardkommittéer för mjukvarudesign som Object Management Group .

Klasshierarkin kan vara så djup som behövs. Instansvariablerna och metoderna ärvs ner genom nivåerna och kan omdefinieras enligt kraven i en underklass. I allmänhet gäller att ju längre ner i hierarkin en klass visas, desto mer specialiserat är dess beteende. När ett meddelande skickas till ett objekt skickas det upp i arvsträdet med början från klassen för det mottagande objektet tills en definition hittas för metoden. Denna process kallas upcasting.

Se även