I objektorientert modellering ved hjelp av Unified Modeling Language ( UML ) , refererer generalisering til utvinning av felles elementer på tvers av flere klasser , kjent som underklasser , og deres felles assosiasjoner til en generell klasse eller superklasse . Ifølge Hoffer , George og Valacich i « Modern Systems Design and Analysis ", i UML -modellering , er generalisering representert "som en heltrukket linje fra underklassen til superklassen , med en hul trekant på slutten av , og peker mot , er superklassen . "Bruke generalisering i UML -modellering fordelaktig fordi den fremmer arv , gjenbruk , utvidbart og enkelhet. Arv
generalisering , arver en underklasse attributter fra en superklasse . Dette er gunstig fordi det gir en måte å skille felles attributter fra unike egenskaper . Men siden en underklasse er mer spesifikke og en superklasse er mer generell , kan et barn eller underklasse arver egenskaper og atferd fra en forelder eller superklasse - men ikke omvendt . For eksempel er hvis dyret en superklasse og hund er en underklasse av dyret superklasse , kan du angi at hver hund er et dyr , men ikke alle dyr er en hund .
Reusability
Ved å la klasser for å dele felles attributter og atferd , praktisering av generalisering i UML -modellering muliggjør gjenbruk fordi det resulterer i minimal duplisering. Siden underklasser arve generelle attributter fra en superklasse , er det mulig å gjenbruke egenskaper og atferd av superklassen til å produsere flere underklasser . I tillegg kan det å ha objektklasser med generiske egenskaper og atferd være verdifulle i systemutvikling fordi gjenbruk er mulig på tvers av flere systemutviklingsprosjekter innsats uten å måtte finne opp hjulet hver gang .
Muligheter for utvidelser
Generalisering støtter extendability fordi når du har definert en superklasse , kan du fortsette å skape attributter og atferd som er forskjellig fra superklassen ' lederadferder i en underklasse . For å illustrere , ved hjelp av dyret superklassen eksempel kan du legge til flere underklasser som en katt underklasse til dyret superklassen uten å måtte redefinere egenskapene som gjør en katt et dyr . I tillegg kan dyret superklassen bli en underklasse av den levende ting superklasse og en ny plante underklasse kan opprettes under levende ting superklasse .
Enkelhet
generalisering , objektklasser er enklere å administrere fordi du forenkle objektet klassifisering prosessen ved predefining fellestrekk for underklasser en gang gjennom en superklasse . Deretter trenger du bare å definere forskjellige attributter som du legger subklasser til superklassen . Som et resultat av dette høyere abstraksjonsnivå , bruker du færre objekter, noe som reduserer kompleksiteten knyttet til å strukturere en klasse hierarki i UML -modellering .