I objektorienterad modellering med hjälp av Unified Modeling Language ( UML ) , hänvisar generalisering till utvinning av gemensamma inslag i flera klasser , så kallade underklasser , och deras gemensamma associationer till en allmän klass eller superklass . Enligt Hoffer , George och Valacich i " Modern Systems Design and Analysis , " i UML modellering , är generalisering representeras " som en heldragen linje från underklassen till superklassen , med en ihålig triangel i slutet av , och pekar mot , är superklassen . " Använda generalisering i UML modellering fördelaktigt eftersom det främjar arv , återanvändbarhet , utbyggbarhet och enkelhet . Arv
generalisering , ärver en underklass attribut från en superklass . Detta är fördelaktigt eftersom det ger ett sätt att skilja gemensamma attribut från unika attribut. Men eftersom en underklass är mer specifik och en superklass är mer allmänt , kan ett barn eller en underklass ärver attribut och beteenden från en förälder eller superklass - men inte tvärtom . Till exempel är om djuret en superklass och hund är en underklass av djuret superklass , kan du ange att varje hund är ett djur , men inte alla djur är en hund .
Återanvändning
Genom att låta klasser att dela gemensamma attribut och beteenden , bruket av generalisering i UML modellering möjliggör återanvändning eftersom det resulterar i minimal överlappning . Eftersom subklasser ärver generella attribut från en superklass , är det möjligt att återanvända de attribut och beteenden hos superklassen att producera flera underklasser . Dessutom, att ha objektklasser med generiska egenskaper och beteenden vara värdefulla i systemutveckling eftersom återanvändning är möjlig över flera insatser systemutveckling utan att behöva uppfinna hjulet varje gång .
Utbyggbarhet
Generalisering stöder extendability eftersom när du har definierat en superklass kan du fortsätta att skapa attribut och beteenden som skiljer sig från superklassen attribut och beteenden i en underklass . För att illustrera , med djuret superklassen exempel kan du lägga till ytterligare underklasser som en katt underklass till djuret superklass utan att omdefiniera de egenskaper som gör en katt ett djur . Dessutom , kan djuret superklassen blivit en underklass av levande ting superklass och en ny anläggning underklass kan skapas under levande ting superklass .
Simplicity
generalisering , objektklasser är lättare att hantera eftersom du förenkla processen objektet klassificering genom fördefiniera gemensamhet för underklasser gång genom en superklass . Sedan behöver du bara att definiera tydliga attribut som du lägger underklasser till superklassen . Som ett resultat av denna högre abstraktionsnivå , använder du färre objekt , vilket minskar komplexiteten i samband med att strukturera en klass hierarki i UML modellering .