Hem Personliga finanser Gör generaliseringar i UML 2 - dummies

Gör generaliseringar i UML 2 - dummies

Video: Tydlig kommunikation med NLP 2024

Video: Tydlig kommunikation med NLP 2024
Anonim

Det är naturligt att klassificera objekt i kategorier och att organisera kategorier i underkategorier. Om du letar efter ett ställe att bo, befinner du dig själv att kategorisera en bostad som hus, lägenhet, radhus, villa, herrgård och så vidare. Hus kan i sin tur organiseras ytterligare av stilar som ranch, split-level, koloniala och saltbox. UML ger dig en notering för att fånga dessa typer av klassificeringar - även känd som generalisering och specialisering - och utnyttja dem som modellare och programmerare.

Vissa objektorienterade utvecklare kommer att gå till stora delar för att spara lite arbete. När de kan modellera något en gång och återanvända det, är de intresserade. Om de kan skriva en metod (programkoden för en operation) för en klass endast en gång och använda den många gånger, registrerar du dem för högre produktivitet. Om du vill spara dig tid genom att ange attribut och operationer en gång och sedan återanvända dem många gånger, läs vidare.

När du definierar klasser kanske du märker att vissa klasser har samma attribut eller samma verksamhet. När så är fallet placerar du dessa gemensamma funktioner (attribut, operationer osv.) I en mer generisk klass som heter superklassen. Klasserna som delar de gemensamma funktionerna kallas superklassen underklasser . Längden på inspelat material på ett videoband, ljudband, cd eller filmfil är till exempel en egenskap för alla fyra typer av inspelat medium. Dessa klasser kan också dela med andra attribut, till exempel deras fysiska dimensioner och datumet var och en användes för att göra en inspelning. I detta fall skulle superklassen vara Inspelad Media, underklasserna skulle vara Videoband, Audiotape, CompactDisc och MovieFilm, och vissa delade attribut kan innefatta inspeladLängd och TotalLängd.

Denna process för att hitta liknande attribut eller aktiviteter över klasser kallas generalisering. Till exempel generaliserar du attributet RecordLength till en mer generisk klass som heter RecordedMedia. Processen för att visa en generalisering i UML är enkel:

1. Identifiera underklassen.

Hitta klasser som har samma attribut och / eller operationer. Dessa klasser är dina underklasser.

2. Skapa en superklass.

Ge en superklass för att hålla de gemensamma attributen och / eller operationerna i underklassen. Ge superklassen ett namn som kategoriserar alla underklasser. Att placera superklassen ovanför underklassen i diagrammet gör det lättare att läsa men det är inte nödvändigt.)

3. Lägg till gemensamma funktioner i superklassen.

Ta bort de gemensamma attributen och operationerna från underklassen och placera dem (en gång) i superklassen.

4. Rita ett generaliseringsförhållande.

Du ritar en generaliseringsrad från varje underklass till superklassen. I UML representeras generaliseringslinjen som en solid linje med ett ihåligt pilhuvud vid superklassänden. I UML är en linje med det ihåliga pilhuvudet som ansluter en underklass till en superklass känd som ett generaliseringsförhållande.

När du har skapat en superklass med de gemensamma funktionerna som attribut och operationer, delkategorierna ärva dessa funktioner från superklassen. På så sätt behöver du bara skriva de gemensamma funktionerna en gång i superklassen istället för många gånger i varje underklass.

Du kan se om du har en generalisering genom att titta på det språk du (eller andra) använder för att beskriva förhållandet mellan klasser. Observera att när man beskriver inspelat media och dess olika typer, såsom videoband tidigare i det här avsnittet, uppträdde frasen "four kindsof recorded media". Om du hittar dig själv med hjälp av fraser som "typ av" eller "typ av", då är chansen att du har en generalisering på dina händer.

Säg att en av dina kunder är oroade över att hålla koll på material i ett arkiv. Den här klienten har ackumulerat olika typer av inspelade media, såsom videoband och ljudböcker. Som modellers måste du fånga skillnaderna mellan dessa medier och deras likheter. Diagrammet i Figur 1 visar början på flera generaliseringar, arrangerade i en arvshierarki.

Figur 1: Enkel arvshierarki.

Utvecklare använder begreppet generalisering eller arv för att referera till samma begrepp om att återanvända delade attribut och operationer som du visar i en superklass och återanvändning i underklasser. Generalisering hänvisar till begreppet generalisering från specifika (delklasserna) till generiken (superklassen). Erfarenhet avser effekten av generalisering på underklassen.

När du ser en generalisering -förhållande mellan klasser, är dess betydelse väldigt annorlunda än en förening relation mellan klasser. En förening är i slutändan ett förhållande bland många objekt - vissa fall av en klass har ett förhållande (länk) med andra klassers instanser. I ett generaliseringsförhållande bland klasser handlar förhållandet verkligen om klasserna. Det bästa du kan säga är att ett objekt skapat från en underklass innehåller alla funktioner i underklass och superklass.

Du har bara ett objekt från en klass i ett generaliseringsförhållande. Även om du visar två klasser, underklass och superklass, har du bara ett objekt som skapas. Du kan tänka på ett objekt av Videobandklassen som också är ett föremål för RecordedMedia-klassen på grund av arv. Figur 2 visar ett objekt skapat från Videotape-klassen med alla dess attribut.(Förekomsten av en klass representeras som en objektsymbol.) Du har inte två olika objekt (en för Inspelad Media och en för Videoband), bara ett objekt. När objektet vtu83-1023 skapades, sattes alla dess attributs värden. Inspelningen på bandet är 57 minuter. Den totala längden på det fysiska tejpen är 60 minuter. Tejpen är en umatisk videokassett med en höjd av 10 tum, en bredd på 7 tum och ett djup på 1, 5 tum. Inspelningen är analog, och en logg med tejpinnehåll är fäst på tejpen för arkivisten som referens.

Figur 2: En instans som visar alla ärftliga attribut.

Du har bara en instans definierad av en underklass och dess superklass. Underklass och superklass kan ha en konstruktörsoperation (för att skapa förekomsten) och en destructoroperation (för att förstöra förekomsten). När din programvara körs och du skapar en förekomst av en underklass, utförs superklassens konstruktör först, följt av konstruktören i underklassen. När det kommer dags att eliminera förekomsten du skapade, kallas förstörarens subklass först, följt av superklassens destructor. Om sakerna är mer komplexa eftersom du har underklasser av underklasser, kom bara ihåg: Konstruktörer åberopas från toppen av arvshierarkin till botten; Destructorer kallas i ordning från lägsta underklass upp till högsta superklassen.

Gör generaliseringar i UML 2 - dummies

Redaktörens val

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

I Photoshop Element, Redigera Snabbt läge är en uppskattad version av Redigera fullt läge som ger grundläggande fixverktyg tillsammans med några unika funktioner, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Redigera snabbläge för att reparera dina foton: Välj ett eller flera foton i ...

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Snabb Fotoredigering är en uppskattad version av Full Photo Edit-läge som bekvämt ger grundläggande fixeringsverktyg och kastar i några unika egenskaper, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Quick Photo Edit-läget för att reparera dina foton:

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Fotoeffekter i Photoshop Elements 11 fungerar som applicera filter; medan dialogrutan Filtreringsgalleri ger dig många alternativ för att tillämpa ett filter, ger den guidade panelen dig filtereffekter och tar dig genom steg för att justera ljusstyrka, ändra färgton och mättnad och göra andra justeringar för att perfekta resultatet. Du ...

Redaktörens val

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

När du granskar en bild, bestämmer du om det är en målvakt. Om du tittar på en bild på din Canon EOS 7D Mark II, gillar du inte bilden av någon anledning kan du radera det. Men borttagning av bilder måste ske med stor försiktighet eftersom uppgiften inte kan ångras. När du har raderat en ...

Hur man redigerar filmer på en Canon EOS 60D - dummies

Hur man redigerar filmer på en Canon EOS 60D - dummies

60D Edit-funktionen gör det härligt enkelt för att ta bort oönskade delar från början eller slutet av en film direkt på din kamera. Denna ombordredigering är praktisk men grundläggande, så förvänta dig inte mirakel. Här är de enkla stegen för att trimma början eller slutet på en film: Klicka på ikonen Redigera (det ser ut ...

Redaktörens val

Hur man arbetar med text i ett Word 2010-tabell - dummies

Hur man arbetar med text i ett Word 2010-tabell - dummies

Text hinner i ett bord i Word 2010 på en cell-vid-cell basis. Varje cell i ett Word-bord kan ha ett eget styckeformat och en egen uppsättning flikar. Grupper av celler, rader och kolumner och hela tabellen kan väljas och formateras samtidigt, om du vill. All standardtext ...

Hur man arbetar med Word 2010: s decimala flik - dummies

Hur man arbetar med Word 2010: s decimala flik - dummies

Du kan använda decimalfliken i Word 2010 till rad upp kolumner av siffror. Även om du kan använda en rätt flik för att göra detta jobb är decimalfliken ett bättre val. I stället för högerjusterad text, som den högra fliken gör, justerar decimalfliken siffror efter deras decimaldel - perioden i ...

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

O saker Word 2010 kan göra med dokument! Du kan öppna flera Word-dokument samtidigt och arbeta på mycket av dem, växla mellan de olika öppna dokumenten. Öppnar flera Word-dokument samtidigt Det är inte en fråga om hur Word kan fungera på mer än ett dokument åt gången. Nej, ...