Huis Persoonlijke financiën Generalisaties maken in UML 2 - dummies

Generalisaties maken in UML 2 - dummies

Video: UML Use Case Diagram Tutorial 2024

Video: UML Use Case Diagram Tutorial 2024
Anonim

Het is normaal om objecten in categorieën te classificeren en om categorieën onder te verdelen in subcategorieën. Als je op zoek bent naar een plek om te wonen, merk je dat je een wooneenheid als een huis, appartement, herenhuis, flatgebouw, herenhuis, enzovoort classificeert. Huizen kunnen op hun beurt verder worden georganiseerd door stijlen zoals ranch, split-level, koloniaal en saltbox. UML geeft je notatie om dit soort classificaties vast te leggen - ook bekend als generalisatie en specialisatie - en gebruik ze als een modeler en een programmeur.

Sommige object-georiënteerde ontwikkelaars zullen zich tot het uiterste inspannen om een ​​beetje werk te besparen. Wanneer ze iets eenmaal kunnen modelleren en hergebruiken, zijn ze geïnteresseerd. Als ze slechts één keer een methode (de programmacode voor een bewerking) voor een klasse kunnen schrijven en deze vele malen kunnen gebruiken, meld ze dan aan voor een hogere productiviteit. Als u tijd wilt besparen door attributen en bewerkingen eenmaal op te geven en ze vervolgens vele malen opnieuw te gebruiken, lees dan verder.

Terwijl u klassen definieert, merkt u misschien dat sommige klassen dezelfde kenmerken of dezelfde bewerkingen hebben. Wanneer dit het geval is, plaatst u deze gemeenschappelijke functies (kenmerken, bewerkingen enzovoort) in een meer generieke klasse die de superklasse wordt genoemd. De klassen die de algemene kenmerken delen, staan ​​bekend als subklassen van de superklasse. De lengte van opgenomen materiaal op een videoband, audiotape, compact disc of filmfilm is bijvoorbeeld een attribuut van alle vier soorten opgenomen media. Deze klassen kunnen ook andere kenmerken delen, zoals hun fysieke afmetingen en de datum waarop ze allemaal zijn gebruikt om een ​​opname te maken. In dit geval zou de superklasse RecordedMedia zijn, de subklassen zouden Videotape, Audiotape, CompactDisc en MovieFilm zijn, en enkele gedeelde attributen zouden opgenomenLength en totalLength kunnen zijn.

Dit proces voor het vinden van vergelijkbare attributen of bewerkingen tussen klassen staat bekend als generalisatie. U generaliseert bijvoorbeeld de kenmerkrecordlengte in een meer generieke klasse met de naam RecordedMedia. Het proces voor het weergeven van een generalisatie in UML is eenvoudig:

1. Identificeer de subklassen.

Lokaliseer klassen die dezelfde attributen en / of bewerkingen hebben. Deze klassen zijn je subklassen.

2. Creëer een superklasse.

Geef een superklasse voor de gemeenschappelijke kenmerken en / of bewerkingen van de subklassen. Geef de superklasse een naam die alle subklassen categoriseert. Het plaatsen van de superklasse boven de subklassen in het diagram maakt het gemakkelijker om te lezen maar is niet vereist.)

3. Voeg veelgebruikte functies toe aan de superklasse.

Verwijder de algemene kenmerken en bewerkingen van de subklassen en plaats ze (eenmalig) in de superklasse.

4. Teken een generalisatierelatie.

U tekent een generalisatielijn van elke subklasse naar de superklasse. In UML wordt de generalisatielijn weergegeven als een ononderbroken lijn met een holle pijlpunt aan het uiteinde van de superklasse. In UML staat een lijn met de holle pijlpunt die een subklasse met een superklasse verbindt, bekend als een generalisatierelatie.

Nadat u een superklasse hebt gemaakt met de algemene kenmerken, zoals kenmerken en bewerkingen, nemen de subklassen die kenmerken over van de superklasse. Op deze manier hoeft u slechts de algemene functies eenmaal in de superklasse te schrijven in plaats van vele malen in elk van de subklassen. U kunt zien of u een generalisatie hebt door te kijken naar de taal die u (of anderen) gebruikt om de relatie tussen klassen te beschrijven. Merk op dat bij het beschrijven van opgenomen media en de verschillende typen ervan, zoals videotape eerder in deze sectie, de frase "four kindsof recorded media" verscheen. Als je merkt dat je uitdrukkingen als "soort" of "type" gebruikt, dan is de kans groot dat je een generalisatie op handen hebt.

Zeg dat een van uw klanten zich bezighoudt met het bijhouden van materiaal in een archief. Deze client heeft verschillende

soorten opgenomen media verzameld, zoals videotapes en audiotapes. Als modelbouwers moet je de verschillen tussen deze media en hun overeenkomsten vastleggen. Het diagram in figuur 1 toont het begin van verschillende generalisaties, gerangschikt in een overervingshiërarchie. Afbeelding 1:

Eenvoudige overervingshiërarchie. Ontwikkelaars gebruiken de term generalisatie of overerving om te verwijzen naar hetzelfde concept van het opnieuw gebruiken van gedeelde kenmerken en bewerkingen die u in een superklasse gebruikt en opnieuw gebruiken in subklassen. Generalisatie verwijst naar het concept van generaliseren van specifieke (de subklassen) naar de generieke (de superklasse). Overerving verwijst naar het effect van generalisatie op de subklassen.

Wanneer u een

generalisatie -relatie tussen klassen ziet, wijkt de betekenis ervan sterk af van die van een koppeling tussen klassen. Een associatie is uiteindelijk een relatie tussen veel -objecten - sommige instanties van een klasse hebben een relatie (koppeling) met instanties van de andere klasse. In een generalisatierelatie tussen klassen gaat de relatie eigenlijk over de klassen. Het beste dat u kunt zeggen, is dat een object gemaakt op basis van een subklasse alle kenmerken van de subklasse en van de superklasse bevat. Je hebt maar één object uit een klasse in een generalisatierelatie. Ook al laat je twee klassen zien, de subklasse en de superklasse, je hebt maar één object dat wordt aangemaakt. U kunt denken aan een object van de klasse Videotape dat ook een object van de klasse RecordedMedia is vanwege overerving. Figuur 2 toont een object gemaakt van de Videotape-klasse met al zijn attributen.(De instantie van een klasse wordt weergegeven als een objectsymbool.) U hebt niet twee verschillende objecten (één voor RecordedMedia en één voor Videotape), maar één object. Wanneer het object vtu83-1023 is gemaakt, zijn alle waarden van alle kenmerken ingesteld. De opname op de band duurt 57 minuten. De totale lengte van de fysieke tape is 60 minuten. De tape is een Umatic-videocassette met een hoogte van 10 inch, een breedte van 7 inch en een diepte van 1,5 inch. De opname is analoog en een log van de inhoud van de tape is aan de band bevestigd zodat de archivaris deze kan raadplegen.

Afbeelding 2:

Een exemplaar met alle overgenomen kenmerken. U heeft slechts één instantie gedefinieerd door een subklasse en de superklasse. De subklasse en de superklasse kunnen een constructorbewerking hebben (om de instantie te maken) en een destructorbewerking (om de instantie te vernietigen). Wanneer uw software wordt uitgevoerd en u maakt een instantie van een subklasse, wordt de constructor van de superklasse eerst uitgevoerd, gevolgd door de constructor van de subklasse. Wanneer het tijd is om de door u gemaakte instantie te elimineren, wordt de destructor van de subklasse eerst genoemd, gevolgd door de destructor van de superklasse. Als dingen ingewikkelder zijn omdat u subklassen van subklassen hebt, onthoud dan: constructors worden van de top van de overervingshiërarchie naar beneden gehaald; destructors worden in de juiste volgorde geroepen vanaf de laagste subklasse tot de hoogste superklasse.

Generalisaties maken in UML 2 - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...