Zuhause Persönliche Finanzen Durch Verallgemeinerungen in UML 2

Durch Verallgemeinerungen in UML 2

Video: Klassendiagramme mit UML - Theoretische Objektorientierte Konzepte 1 ● Gehe auf SIMPLECLUB.DE/GO 2024

Video: Klassendiagramme mit UML - Theoretische Objektorientierte Konzepte 1 ● Gehe auf SIMPLECLUB.DE/GO 2024
Anonim

Es ist natürlich, Objekte in Kategorien zu klassifizieren und Kategorien in Unterkategorien zu organisieren. Wenn Sie nach einem Ort zum Leben suchen, finden Sie sich selbst eine Wohneinheit als ein Haus, Wohnung, Stadthaus, Eigentumswohnung, Villa und so weiter kategorisieren. Häuser können wiederum durch Stile wie Ranch, Split-Level, Colonial und Saltbox organisiert werden. UML bietet Ihnen die Notation, diese Klassifizierungstypen - auch als Generalisierung und Spezialisierung bezeichnet - zu erfassen und als Modellierer und Programmierer zu verwenden.

Einige objektorientierte Entwickler werden sich bemühen, ein wenig Arbeit zu sparen. Wenn sie etwas einmal modellieren und wiederverwenden können, sind sie interessiert. Wenn sie eine Methode (den Programmcode für eine Operation) nur einmal für eine Klasse schreiben und viele Male verwenden können, dann melden Sie sie für eine höhere Produktivität an. Wenn Sie sich Zeit sparen möchten, indem Sie Attribute und Operationen einmal angeben und dann wiederverwenden, lesen Sie weiter.

Wenn Sie Klassen definieren, stellen Sie möglicherweise fest, dass einige Klassen dieselben Attribute oder dieselben Operationen haben. Wenn dies der Fall ist, ordnen Sie diese allgemeinen Features (Attribute, Operationen usw.) in einer allgemeineren Klasse an, die als Superklasse bezeichnet wird. Die Klassen, die die gemeinsamen Merkmale gemeinsam haben, werden als Unterklassen der Oberklasse bezeichnet. Zum Beispiel ist die Länge des aufgezeichneten Materials auf einem Videoband, einem Tonband, einer Compact Disc oder einem Filmfilm ein Attribut aller vier Arten von aufgezeichneten Medien. Diese Klassen können auch andere Attribute teilen, z. B. ihre physischen Abmessungen und das Datum, an dem sie jeweils für eine Aufzeichnung verwendet wurden. In diesem Fall wäre die Superklasse RecordedMedia, die Unterklassen Videotape, Audiotape, CompactDisc und MovieFilm, und einige gemeinsame Attribute könnten recordedLength und totalLength enthalten.

Dieser Prozess des Auffindens ähnlicher Attribute oder Operationen über Klassen hinweg ist als

Generalisierung bekannt. Zum Beispiel verallgemeinern Sie das Attribut recordLength in eine allgemeinere Klasse namens RecordedMedia. Der Prozess zum Anzeigen einer Verallgemeinerung in UML ist einfach: 1. Identifizieren Sie die Unterklassen.

Suchen Sie nach Klassen mit denselben Attributen und / oder Operationen. Diese Klassen sind Ihre Unterklassen.

2. Erstellen Sie eine Superklasse.

Geben Sie eine Superklasse an, die die gemeinsamen Attribute und / oder Operationen der Unterklassen enthält. Geben Sie der Superklasse einen Namen, der alle Unterklassen kategorisiert. Das Platzieren der Oberklasse über den Unterklassen im Diagramm erleichtert das Lesen, ist jedoch nicht erforderlich.)

3. Fügen Sie der Superklasse gemeinsame Funktionen hinzu.

Entfernen Sie die gemeinsamen Attribute und Operationen aus den Unterklassen und platzieren Sie sie (einmalig) in der Oberklasse.

4. Zeichnen Sie eine Generalisierungsbeziehung.

Sie zeichnen eine Generalisierungszeile von jeder Unterklasse zur Oberklasse. In UML wird die Generalisierungslinie als durchgezogene Linie mit einer hohlen Pfeilspitze am Oberklassenende dargestellt. In UML wird eine Linie mit der hohlen Pfeilspitze, die eine Unterklasse mit einer Oberklasse verbindet, als Generalisierungsbeziehung bezeichnet.

Nachdem Sie eine Oberklasse mit den allgemeinen Merkmalen wie Attributen und Operationen erstellt haben, erben die Unterklassen

diese Merkmale aus der Oberklasse. Auf diese Weise müssen Sie die gemeinsamen Merkmale nur einmal in der Superklasse schreiben und nicht mehrmals in jeder der Unterklassen. Sie können feststellen, ob Sie eine Verallgemeinerung haben, indem Sie sich die Sprache ansehen, die Sie (oder andere) verwenden, um die Beziehung zwischen Klassen zu beschreiben. Beachten Sie, dass bei der Beschreibung von aufgezeichneten Medien und ihren verschiedenen Typen wie Videoband früher in diesem Abschnitt der Ausdruck "vier Arten von aufgezeichneten Medien" erschien. Wenn Sie Phrasen wie "Art von" oder "Art von" finden, dann haben Sie wahrscheinlich eine Generalisierung auf Ihre Hände. Nehmen wir an, einer Ihrer Kunden kümmert sich um die Nachverfolgung von Materialien in einem Archiv. Dieser Client hat verschiedene

Arten von

aufgezeichneten Medien wie Videobänder und Audiobänder angesammelt. Als Modellierer müssen Sie die Unterschiede zwischen diesen Medien sowie ihre Ähnlichkeiten erfassen. Das Diagramm in Abbildung 1 zeigt die Anfänge einiger Verallgemeinerungen, die in einer Vererbungshierarchie angeordnet sind. Abbildung 1: Einfache Vererbungshierarchie.

Entwickler verwenden den Begriff Generalisierung oder Vererbung, um auf das gleiche Konzept der Wiederverwendung gemeinsamer Attribute und Operationen zu verweisen, die Sie in einer übergeordneten Klasse anzeigen und in Unterklassen wiederverwenden. Generalisierung bezieht sich auf das Konzept der Verallgemeinerung von Spezifika (den Unterklassen) auf das Generische (die Oberklasse). Vererbung bezieht sich auf die Auswirkung der Generalisierung auf die Unterklassen. Wenn Sie eine

Verallgemeinerung

Beziehung zwischen Klassen sehen, unterscheidet sich ihre Bedeutung sehr von der einer Assoziations Beziehung zwischen Klassen. Eine Assoziation ist letztlich eine Beziehung zwischen vielen Objekten - einige Instanzen einer Klasse haben eine Beziehung (Link) zu Instanzen der anderen Klasse. In einer Generalisierungsbeziehung zwischen Klassen geht es wirklich um die Klassen. Das Beste, was Sie sagen können, ist, dass ein aus einer Unterklasse erstelltes Objekt alle Merkmale der Unterklasse und der Oberklasse enthält. Sie haben nur ein Objekt aus einer Klasse in einer Generalisierungsbeziehung. Obwohl Sie zwei Klassen, die Unterklasse und die Oberklasse zeigen, haben Sie nur ein Objekt, das erstellt wird. Sie können sich ein Objekt der Videotape-Klasse vorstellen, das aufgrund der Vererbung auch ein Objekt der RecordedMedia-Klasse ist. Abbildung 2 zeigt ein Objekt, das mit allen Attributen aus der Videobandklasse erstellt wurde.(Die Instanz einer Klasse wird als Objektsymbol dargestellt.) Sie haben nicht zwei verschiedene Objekte (eines für RecordedMedia und eines für Videoband), nur ein Objekt. Wenn das Objekt vtu83-1023 erstellt wurde, wurden alle seine Attributwerte gesetzt. Die Aufnahme auf dem Band dauert 57 Minuten. Die Gesamtlänge des physischen Bandes beträgt 60 Minuten. Das Band ist eine Umatic-Videokassette mit einer Höhe von 10 Zoll, einer Breite von 7 Zoll und einer Tiefe von 1,5 Zoll. Die Aufzeichnung ist analog, und ein Protokoll des Bandinhalts ist an das Band angehängt, auf das der Archivar Bezug nehmen kann. Abbildung 2:

Eine Instanz, die alle geerbten Attribute zeigt.

Sie haben nur eine Instanz, die von einer Unterklasse und ihrer Oberklasse definiert ist. Die Unterklasse und die Oberklasse können eine Konstruktoroperation (um die Instanz zu erstellen) und eine Destruktoroperation (um die Instanz zu zerstören) haben. Wenn Ihre Software ausgeführt wird und Sie eine Instanz einer Unterklasse erstellen, wird zunächst der Konstruktor der Oberklasse ausgeführt, gefolgt vom Konstruktor der Unterklasse. Wenn es an der Zeit ist, die von Ihnen erstellte Instanz zu eliminieren, wird der Destruktor der Unterklasse zuerst aufgerufen, gefolgt vom Destruktor der Oberklasse. Wenn die Dinge komplexer sind, weil Sie Unterklassen von Unterklassen haben, denken Sie daran: Konstruktoren werden von der Spitze der Vererbungshierarchie nach unten aufgerufen. Destruktoren werden in der Reihenfolge von der niedrigsten Unterklasse bis zur höchsten Oberklasse aufgerufen.

Durch Verallgemeinerungen in UML 2

Die Wahl des Herausgebers

Tipps für die Auswahl von Feldtypen in Access 2013 - Dummies

Tipps für die Auswahl von Feldtypen in Access 2013 - Dummies

Beim Entwerfen einer Datenbank in Access 2013 Entscheiden Sie, welcher Typ jedes Feld sein wird. Access bietet 12 Feldtypen, aus denen Sie auswählen können. Wählen Sie den Feldtyp aus, der am besten die Daten beschreibt, die Sie im Feld speichern möchten, und das funktioniert für den Analysetyp, den Sie benötigen, um die ...

Nützliche Funktionen in Access 2007 - Dummies

Nützliche Funktionen in Access 2007 - Dummies

Obwohl Access 2007 über mehrere integrierte Funktionen verfügt, dürfen Sie nicht mehr verwenden. als ein paar von ihnen in Ihren Berichten. Dennoch, wenn Sie nicht wissen, dass sie verfügbar sind, könnten Sie viele der Funktionen vermissen, die Sie wirklich nützlich finden könnten. Obwohl diese Liste weit davon entfernt ist, umfassend zu sein, zeigt diese Tabelle eine Reihe von Funktionen ...

Sichern Ihrer Access 2003-Datenbank als MDE-Datei - Dummies

Sichern Ihrer Access 2003-Datenbank als MDE-Datei - Dummies

Wenn Sie eine Access 2003-Datenbank erstellen. andere Leute - besonders Leute, die ein wenig ratlos über Access sind - Sie können Ihre Datenbank sperren, um andere Benutzer daran zu hindern, Änderungen vorzunehmen, die sie möglicherweise beschädigen. Sie können Sicherheit in Form von Benutzernamen und Passwörtern hinzufügen, aber ...

Die Wahl des Herausgebers

Ruby Datentypen und Variablen - Dummys

Ruby Datentypen und Variablen - Dummys

Variablen in Ruby werden mit alphanumerischen Zeichen und dem Unterstrich (_) bezeichnet. und kann nicht mit einer Zahl oder einem Großbuchstaben beginnen. Variablen, wie in der Algebra, sind Schlüsselwörter, die verwendet werden, um Datenwerte für eine spätere Verwendung zu speichern. Obwohl sich die in einer Variablen gespeicherten Daten ändern können, ist der Variablenname immer derselbe. Denken Sie an ...

Mit Array und Hash Built-in und verwandten Methoden - Dummies

Mit Array und Hash Built-in und verwandten Methoden - Dummies

Ruby hat viele integrierte Klassen, aber vielleicht die nützlichsten Objekte für die Speicherung anderer Daten sind die Container-Klassen Array und Hash. Sie können viel Zeit beim Codieren sparen, wenn Sie sich daran erinnern, dass jede dieser Klassen viele nützliche Methoden für den Zugriff und die Manipulation ihrer Inhalte hat. Array-Grundlagen Verwenden Sie Arrays für Listen ...

Wie man Scratch-Grafiken in andere Anwendungen exportiert - Dummies

Wie man Scratch-Grafiken in andere Anwendungen exportiert - Dummies

Scratch-Benutzer können Grafiken für andere Anwendungen entwerfen und exportieren wie Microsoft Word und PowerPoint. Eine einfach zu findende Schaltfläche (aus Datei hochladen) ermöglicht es Benutzern, Grafiken in Scratch zu importieren, aber viele Benutzer wissen nicht, wie sie Grafiken auf einem Computer speichern und die Bilder wie andere Grafikdateien exportieren können. Öffnen Sie ein Scratch-Projekt. ...

Die Wahl des Herausgebers

Hinzufügen von Fußnoten und Endnoten in Word 2016 - dummies

Hinzufügen von Fußnoten und Endnoten in Word 2016 - dummies

Fußnoten und Endnoten in Word 2016 enthalten Bonusinformationen, eine Klarstellung oder beiseite, um Text auf einer Seite zu ergänzen. Jede ist im Text durch eine hochgestellte Zahl oder einen Buchstaben gekennzeichnet1. 1 Siehe? Es klappt! Der Unterschied zwischen einer Fußnote und einer Endnote liegt in der Platzierung: Eine Fußnote wird unten angezeigt ...

Wie man Datum und Uhrzeit in Word 2013 Dokument hinzufügt - Dummies

Wie man Datum und Uhrzeit in Word 2013 Dokument hinzufügt - Dummies

Sie haben wahrscheinlich Leute Sie möchten das aktuelle Datum und die aktuelle Uhrzeit kennen oder möchten einfach das Datum oder die Uhrzeit oder beide in Ihr Word 2013-Dokument einfügen. Bis auf wenige Ausnahmen sind Zeitreisende die einzigen, die sich für das laufende Jahr erkundigen. Aber vielleicht brauchen Sie es in Ihrem Dokument ...

Wie man Datum und Uhrzeit zu einem Word 2010 Dokument hinzufügt - Dummies

Wie man Datum und Uhrzeit zu einem Word 2010 Dokument hinzufügt - Dummies

Sie wahrscheinlich haben Leute, die das aktuelle Datum und die Uhrzeit in Ihrem Word 2010-Dokument kennen möchten, oder vielleicht möchten Sie nur das Datum oder die Uhrzeit (oder beides) in Ihr Dokument einfügen. Word hat viele Tricks, um es möglich zu machen. Festhalten des aktuellen Datums oder der aktuellen Uhrzeit in einem Word-Dokument Abgesehen von der Suche ...