I objektorienteret modellering ved hjælp Unified Modeling Language ( UML ) , generalisering refererer til udvinding af fælles elementer på tværs af flere klasser , kendt som underklasser og deres fælles foreninger i en generel klasse eller superklasse . Ifølge Hoffer , George og Valacich i " moderne systemer Design og analyse ", i UML modellering er generalisering repræsenteres "som en fast linje fra underklasse til superklasse med et hult trekant i slutningen af , og peger mod , overklassen . "Brug generalisering UML modellering er fordelagtig, fordi det fremmer arv, genanvendelighed , extendibility og enkelhed. Arv
generalisering, en underklasse arver attributter fra en superklasse . Det er gavnligt, fordi det giver en måde at skelne fælles egenskaber fra unikke egenskaber. Men da en underklasse er mere specifik og en superklasse er mere generelle, kan et barn eller underklasse arver attributter og adfærd fra en forælder eller superklasse - men ikke omvendt . For eksempel er hvis dyret en superklasse og hund er en underklasse af dyret superklasse , kan du angive, at hver hund er et dyr , men ikke alle dyr er en hund .
Genbrugelighed
< br >
Ved at tillade klasser for at dele fælles egenskaber og adfærd , praksis med generalisering UML modellering muliggør genanvendelighed , fordi det resulterer i minimal overlapning. Da underklasser arver generelle attributter fra en overklasse , er det muligt at genbruge de attributter og adfærd superklassen at producere flere underklasser . Derudover kan have objekt klasser med generiske egenskaber og adfærd være værdifulde i systemudvikling , fordi genanvendelighed er mulig på tværs af flere systemer udviklingsindsats uden at skulle genopfinde hjulet hver eneste gang .
Extendibility < br >
Generalisering understøtter udvidelsesmulighederne , fordi når du har defineret en superklasse , kan du fortsætte med at skabe attributter og adfærd, som adskiller sig fra det superklasse ' egenskaber og adfærd i en underklasse . For at illustrere , ved hjælp af dyret superklassen eksempel , kan du tilføje yderligere underklasser såsom en kat underklasse til dyret superklassen uden at omdefinere de karakteristika, der gør en kat et dyr . Derudover kan dyret superklassen bliver en underklasse af den levende ting superklasse og en ny fabrik underklasse kan oprettes under de levende ting superklasse .
Simplicity
generalisering, objekt klasser er nemmere at håndtere , fordi du forenkle objektet klassificering proces ved predefining fællestræk for underklasser en gang gennem en superklasse . Så behøver du kun at definere forskellige egenskaber , som du tilføjer underklasser til superklassen . Som et resultat af denne højere abstraktionsniveau , bruger du færre genstande , hvilket reducerer kompleksiteten forbundet med at strukturere en klasse hierarki i UML modellering .