In der objektorientierten Modellierung mit der Unified Modeling Language (UML) , bezieht sich Verallgemeinerung auf die Extraktion von gemeinsamen Elementen über mehrere Klassen als Unterklassen bekannt , und ihre gemeinsamen Verbände in eine allgemeine Klasse oder Oberklasse . Laut Hoffer , George und Valacich in " Moderne Systems Design and Analysis ", in UML-Modellierung wird Verallgemeinerung vertreten " als eine durchgezogene Linie aus der Unterklasse der Superklasse , mit einem hohlen Dreieck am Ende , und in Richtung , die Superklasse . "Verwenden Verallgemeinerung in UML-Modellierung ist vorteilhaft, weil es Vererbung , Wiederverwendbarkeit , Erweiterbarkeit und Einfachheit fördert . Vererbung
In Verallgemeinerung , erbt eine Unterklasse Attribute aus einer Superklasse . Dies ist vorteilhaft, weil es eine Möglichkeit, gemeinsame Attribute aus einzigartigen Eigenschaften unterscheiden bietet . Da jedoch eine Unterklasse ist spezifischer und eine Oberklasse ist allgemeiner kann ein Kind oder Unterklasse erben die Attribute und das Verhalten eines Elternteils oder Oberklasse - aber nicht umgekehrt . Zum Beispiel , wenn das Tier ist eine Superklasse und Hund ist eine Unterklasse des Tieres Superklasse , können Sie zeigen, dass jeder Hund ein Tier ist , aber nicht jedes Tier ist ein Hund.
Wiederverwendbarkeit
< br >
Indem Klassen gemeinsamen Eigenschaften und Verhaltensweisen , die Praxis der Verallgemeinerung in UML-Modellierung ermöglicht die Wiederverwendbarkeit zu teilen , weil es in minimalen Überschneidungen führt. Da Unterklassen allgemeinen Attributen von einer Oberklasse erben , ist es möglich, die Eigenschaften und das Verhalten der Oberklasse Wiederverwendung mehrere Unterklassen erzeugen . Darüber hinaus können mit Objekt-Klassen mit generischen Attributen und Verhaltensweisen als wertvoll in der Systementwicklung , weil Wiederverwendbarkeit ist möglich, über mehrere System Entwicklungsanstrengungen , ohne das Rad jedes Mal .
Erweiterbarkeit neu erfinden
Generalisierung unterstützt Erweiterbarkeit , denn sobald Sie einen übergeordneten Klasse definiert haben, fahren Sie auf Attribute und Verhaltensweisen, die sich von dem Oberklasse " Attribute und Verhaltensweisen in einer Unterklasse sind zu schaffen. Um zu veranschaulichen, mit dem Tier Superklasse Sie können beispielsweise zusätzliche Unterklassen wie eine Katze Unterklasse der Superklasse Tier , ohne die Eigenschaften, die eine Katze ein Tier machen neu hinzuzufügen. Darüber hinaus kann das Tier Superklasse eine Unterklasse der Lebewesen Superklasse werden und ein neues Werk Unterklasse kann unter den Lebewesen Superklasse erstellt werden.
Einfachheit
In Verallgemeinerung , Objektklassen sind leichter zu verwalten, da Sie die Vereinfachung des Objekt-Klassifizierung Prozess durch Vorgabe Gemeinsamkeiten für Unterklassen einmal durch eine Superklasse . Dann müssen Sie nur unterschiedliche Attribute definieren , wie Sie in den Unterklassen der Oberklasse . Als Ergebnis dieser höheren Ebene der Abstraktion , verwenden Sie weniger Objekte , die die Komplexität im Zusammenhang mit der Strukturierung einer Klassenhierarchie in UML-Modellierung verbunden reduziert .