Hjem Personlig finansiering Gør generaliseringer i UML 2 - dummies

Gør generaliseringer i UML 2 - dummies

Video: Hvad er epilepsi? 2025

Video: Hvad er epilepsi? 2025
Anonim

Det er naturligt at klassificere objekter i kategorier og til at organisere kategorier i underkategorier. Hvis du leder efter et sted at bo, finder du dig selv at kategorisere en bolig som hus, lejlighed, byhus, ejerlejlighed, palæ og så videre. Huse kan i sin tur organiseres yderligere af stilarter som ranch, split-level, koloniale og saltbox. UML giver dig besked om at indfange disse typer klassifikationer - også kendt som generalisering og specialisering - og gøre brug af dem som modeller og programmerer.

Nogle objektorienterede udviklere vil gå langt for at spare lidt arbejde. Når de kan modellere noget en gang og genbruge det, er de interesserede. Hvis de kan skrive en metode (programkoden til en operation) kun for en klasse en gang og bruge den mange gange, så tilmelde dem til højere produktivitet. Hvis du vil spare dig selv tid ved at angive attributter og operationer en gang og derefter genbruge dem mange gange, læs videre.

Når du definerer klasser, kan du bemærke, at nogle klasser har de samme attributter eller de samme operationer. Når dette er tilfældet placerer du disse fælles funktioner (attributter, operationer osv.) I en mere generisk klasse kaldet superklasse. Klasserne, der deler de fælles funktioner, kaldes underklasser af superklassen. For eksempel er længden af ​​det optagede materiale på et videobånd, et lydbånd, en cd eller en filmfil en egenskab af alle fire typer optaget materiale. Disse klasser kan også dele andre attributter, såsom deres fysiske dimensioner og datoen hver enkelt blev brugt til at lave en optagelse. I dette tilfælde ville superclassen være OptagetMedia, subklasserne ville være Videobånd, Audiotape, CompactDisc og MovieFilm, og nogle delte attributter kunne indeholde recordedLength og totalLength.

Denne proces med at finde lignende attributter eller operationer på tværs af klasser er kendt som generalisering. For eksempel generaliserer du attributten recordLength til en mere generisk klasse kaldet RecordedMedia. Processen til at vise en generalisering i UML er enkel:

1. Identificer underklasserne.

Find klasser, der har de samme attributter og / eller operationer. Disse klasser er dine underklasser.

2. Opret en superklasse.

Giv en superklasse til at holde de fælles attributter og / eller operationer i underklasserne. Giv superklassen et navn, der kategoriserer alle underklasserne. Placering af superklassen over underklasserne i diagrammet gør det lettere at læse, men er ikke påkrævet.)

3. Tilføj fælles funktioner til superklassen.

Fjern de fælles attributter og operationer fra underklasserne og læg dem (en gang) i superklassen.

4. Tegn et generaliseringsforhold.

Du tegner en generaliseringslinje fra hver underklasse til superklassen. I UML er generaliseringslinjen repræsenteret som en solid linje med en hul pilhoved i superklasseenden. I UML er en linje med den hule pilhoved, der forbinder en underklasse til en superklasse, kendt som et generaliseringsforhold.

Når du har oprettet en superklasse med de fælles funktioner som attributter og operationer, er underklassen arve disse funktioner fra superklassen. På den måde må du kun skrive de fælles funktioner en gang i superklassen i stedet for mange gange i hver af underklasserne.

Du kan se om du har en generalisering ved at se på det sprog, du (eller andre) bruger til at beskrive forholdet mellem klasser. Bemærk, at udtrykket "fire slags optagede medier" fremkom ved at beskrive optaget medie og dets forskellige typer som videobånd tidligere i dette afsnit. Hvis du finder dig selv ved at bruge sætninger som "slags" eller "type", så er chancerne for en generalisering på dine hænder.

Sig, at en af ​​dine kunder er bekymret for at holde styr på materialer i et arkiv. Denne klient har akkumuleret forskellige slags optagede medier som videobånd og lydbøger. Som modeller skal du fange forskellene mellem disse medier og deres ligheder. Diagrammet i figur 1 viser begyndelsen af ​​flere generaliseringer, der er arrangeret i et arvshierarki.

Figur 1: Enkelt arvshierarki.

Udviklere bruger udtrykket generalisering eller arv til at henvise til det samme koncept om genbrug af delte attributter og operationer, som du viser i en superklasse og genbruges i underklasser. Generalisering refererer til begrebet generalisering fra specifikationer (underklasserne) til den generiske (superklassen). Arv henviser til virkningen af ​​generalisering på underklasserne.

Når du ser et generalisering forhold mellem klasser, er dets betydning meget forskellig fra forholdet mellem en forening forholdet mellem klasser. En forening er i sidste ende et forhold mellem mange objekter - nogle tilfælde af en klasse har et forhold (link) med forekomster af den anden klasse. I et generaliseringsforhold blandt klasser handler forholdet virkelig om klasserne. Det bedste du kan sige er, at et objekt lavet af en underklasse indeholder alle funktionerne i underklassen og superklassen.

Du har kun ét objekt fra en klasse i et generaliseringsforhold. Selvom du viser to klasser, underklassen og superklassen, har du kun ét objekt, der bliver skabt. Du kan tænke på en genstand for videobåndklassen også at være en genstand for RecordedMedia-klassen på grund af arv. Figur 2 viser et objekt, der er oprettet fra Videobånd-klassen med alle dets attributter.(Eksemplet på en klasse er repræsenteret som et objektsymbol.) Du har ikke to forskellige objekter (en til RecordedMedia og en til Videobånd), kun en genstand. Når objektet vtu83-1023 blev oprettet, blev alle dets attributters værdier sat. Optagelsen på båndet er 57 minutter. Den totale længde af det fysiske bånd er 60 minutter. Båndet er en umatisk videokassette med en højde på 10 inches, en bredde på 7 inches og en dybde på 1, 5 inches. Optagelsen er analog, og en logbog af tapeindhold er fastgjort til båndet for arkivisten til reference.

Figur 2: En instans, der viser alle arvede attributter.

Du har kun en instans defineret af en underklasse og dens superklasse. Underklassen og superklassen kan have en konstruktøroperation (for at oprette forekomsten) og en destructoroperation (for at ødelægge forekomsten). Når din software kører, og du opretter en forekomst af en underklasse, udføres superklassens konstruktør først efterfulgt af konstruktøren af ​​underklassen. Når det kommer tid til at eliminere forekomsten, du har oprettet, kaldes destruktoren af ​​underklassen først, efterfulgt af superklassens destructor. Hvis tingene er mere komplekse, fordi du har underklasser af underklasser, skal du bare huske: Konstruktører påberåbes fra toppen af ​​arvshierarkiet til bunden; Destruktorer kaldes i rækkefølge fra den laveste underklasse til den højeste superklasse.

Gør generaliseringer i UML 2 - dummies

Valg af editor

Hvordan man skriver en check for en fremragende bill i QuickBooks Online - dummies

Hvordan man skriver en check for en fremragende bill i QuickBooks Online - dummies

Du kan Brug QuickBooks Online (QBO) Check vinduet til at skrive en check for at betale et faktura, du tidligere indtastede - noget, du ikke kan gøre i QuickBooks desktop produkt. Brug ikke Check-transaktionen, hvis du planlægger at betale flere regninger. Hvis du vælger en betalingsmodtager, for hvem der foreligger en udestående faktura, QBO ...

Sådan afskrives fakturaer med QuickBooks Online Accountant - dummies

Sådan afskrives fakturaer med QuickBooks Online Accountant - dummies

Vælger skrivefakturaer fra revisionsværktøjerne menuen i QBOA viser siden Skriv ud fakturaer, som giver dig mulighed for at se fakturaer, du måske vil afskrive, og derefter skrive dem til en konto efter eget valg. Øverst på siden indstiller du filtre for at få vist de fakturaer, du vil have ...

Importrevisorens ændringer til QuickBooks 2012 Datafil - dummies

Importrevisorens ændringer til QuickBooks 2012 Datafil - dummies

Din klient importerer de ændringer, som du ' har lavet i revisorens kopi af QuickBooks 2012-datafilen i hendes arbejdskopi af datafilen. For at gøre dette vælger klienten filen Arkiv → Revisorens Kopi → Klientaktiviteter → Kommandoen Import Revisorens Ændringer. QuickBooks viser dialogboksen Importer regnskabsførerens ændringer. For at bruge importkontoens ændringer ...

Valg af editor

Brug Flash med Nature Photography - dummies

Brug Flash med Nature Photography - dummies

Som regel afhænger du af naturlig belysning til naturfotografering. Du kan dog bruge flash-flash eller en ekstra flash-enhed til at øge naturlig belysning. On-flash-kamera De fleste digitale kameraer leveres med en flash på kameraet. Blitzenheden springer op, når det er nødvendigt. Du kan også aktivere flash på kameraet, når du skal tilføje en ...

Brug tredjeparts rå software til HDR fotografi - dummies

Brug tredjeparts rå software til HDR fotografi - dummies

Du kan købe eller downloade et væld af Råredigerere og konvertere fra tredjepart, der hjælper dig med at lave billeder med høj dynamisk rækkevidde. Hvis du er utilfreds med din nuværende software og vil prøve noget nyt, skal du hænde på en eller flere af de programmer, der er angivet i tabellen. Rå redaktører fra tredjepart Navn URL Platform (er) Freeware? ...

Brug dekorative accenter i mad stil og madfotografi - dummies

Brug dekorative accenter i mad stil og madfotografi - dummies

Når fødevaren alene ikke skaber Det drama eller den intrigue, du vil have i din fotografering med dekorative accenter - af farve, form eller tekstur - kan give dine billeder den ekstra effekt, du leder efter. Accenter er forbedringer af fødevarematerialet, og selvom de tjener formålet med at ophæve maden, er de ...

Valg af editor

Sådan finder du formatering i Word 2007 - dummies

Sådan finder du formatering i Word 2007 - dummies

Du kan bruge kommandoen Find til at skure dit Word 2007-dokument til formatering af oplysninger. Hvis du f.eks. Kun vil finde de forekomster af ordet, der ligger i fed skrift, kan du gøre det. Dette eksempel søger efter teksten gåseæg med en skriftstørrelse på 24 point i en ...

Hvordan man finder tekst i Word 2016 - dummies

Hvordan man finder tekst i Word 2016 - dummies

Ikke gider med båndet! For at finde tekst i dit Word 2016-dokument, tryk Ctrl + F, den mindeværdige tastaturgenvej til kommandoen Find. Du ser navigationsruden, svarende til hvad der vises her. Navigationsruden. Skriv den tekst, du vil lokalisere, i feltet Søg dokument. Når du skriver forekomster af teksten ...

Hvordan man finder stilarter i Word 2016 - dummies

Hvordan man finder stilarter i Word 2016 - dummies

Stilarter bor på Word 2016 Home-fanen navngivet Styles-gruppe, som vist her. Hvad du ser på båndet er Style Gallery, som kan udvides til en fuld menu med stilvalg. Hvor Word-stilarter lurer. Klik på dialogboksen launcher i det nederste højre hjørne af Styles-gruppen ...