Hjem Personlig finansiering Lage generaliseringer i UML 2 - dummies

Lage generaliseringer i UML 2 - dummies

Video: The Agricultural Revolution: Crash Course World History #1 2025

Video: The Agricultural Revolution: Crash Course World History #1 2025
Anonim

Det er naturlig å klassifisere objekter i kategorier og å organisere kategorier i underkategorier. Hvis du ser etter et sted å bo, finner du deg selv å kategorisere en bolig som hus, leilighet, byhus, villa, herregård og så videre. Husene kan i sin tur organiseres ytterligere av stiler som ranch, split-level, koloniale og saltbox. UML gir deg notater for å fange disse typer klassifikasjoner - også kjent som generalisering og spesialisering - og gjøre bruk av dem som modeller og programmerer.

Noen objektorienterte utviklere vil gå langt for å spare litt arbeid. Når de kan modellere noe en gang og gjenbruke det, er de interessert. Hvis de kan skrive en metode (programkoden for en operasjon) for en klasse bare én gang, og bruke den mange ganger, må du registrere dem for høyere produktivitet. Hvis du vil spare deg selv tid ved å spesifisere attributter og operasjoner en gang, og deretter gjenbruke dem mange ganger, les videre.

Når du definerer klasser, kan du merke at noen klasser har de samme egenskapene eller de samme operasjonene. Når dette er tilfelle, plasserer du disse vanlige funksjonene (attributter, operasjoner osv.) I en mer generisk klasse kalt superklasse. Klassene som deler de vanlige funksjonene, kalles underklasser av superklassen. For eksempel er lengden på innspilt materiale på et videobånd, lydbånd, kompakt plate eller filmfil et attribut for alle fire typer av innspilte medier. Disse klassene kan også dele andre attributter, for eksempel deres fysiske dimensjoner og datoen hver ble brukt til å lage en opptak. I dette tilfellet ville superclassen være RecordedMedia, subklassene ville være Videobånd, Audiotape, CompactDisc og MovieFilm, og noen delte attributter kan inneholde opptakslengde og totallengde.

Denne prosessen med å finne lignende egenskaper eller operasjoner over klasser er kjent som generalisering. For eksempel generaliserer du attributten recordLength til en mer generisk klasse som heter RecordedMedia. Prosessen for å vise en generalisering i UML er enkel:

1. Identifiser underklassene.

Finn klasser som har de samme egenskapene og / eller operasjonene. Disse klassene er dine underklasser.

2. Lag en superklasse.

Gi en superklasse for å holde de vanlige egenskapene og / eller operasjonene til underklassene. Gi superklassen et navn som kategoriserer alle underklassene. Plassering av superklassen over underklassene i diagrammet gjør det lettere å lese, men er ikke nødvendig.)

3. Legg til vanlige funksjoner til superklassen.

Fjern de vanlige attributter og operasjoner fra underklassene og plasser dem (en gang) i superklassen.

4. Tegn et generaliseringsforhold.

Du tegner en generaliseringslinje fra hver underklasse til superklassen. I UML er generaliseringslinjen representert som en solid linje med en hul pilepinne på superklassen. I UML er en linje med hul pilespissen som forbinder en underklasse til en superklasse kjent som et generaliseringsforhold.

Når du har opprettet en superklasse med de vanlige funksjonene som attributter og operasjoner, vil underklassene arve disse funksjonene fra superklassen. På denne måten må du bare skrive de vanlige funksjonene en gang i superklassen i stedet for mange ganger i hver av underklassene.

Du kan fortelle om du har en generalisering ved å se på språket du (eller andre) bruker til å beskrive forholdet mellom klasser. Legg merke til at i beskrivelsen av innspilte medier og dets ulike typer som videobånd tidligere i denne delen, oppstod uttrykket "fire typer av innspilt media". Hvis du finner deg selv ved å bruke setninger som "type" eller "type", så er sjansene at du har en generalisering på hendene.

Si at en av dine klienter er opptatt av å holde oversikt over materialer i et arkiv. Denne klienten har akkumulert forskjellige typer innspilte medier som videobånd og lydbøker. Som modellere må du fange forskjellene mellom disse mediene og deres likheter. Diagrammet i figur 1 viser begynnelsen av flere generaliseringer, arrangert i et arvshierarki.

Figur 1: Enkelt arvshierarki.

Utviklere bruker begrepet generalisering eller arv til å referere til det samme konseptet om å gjenbruke delte attributter og operasjoner som du viser i en superklasse og gjenbruk i underklasser. Generalisering refererer til begrepet generalisering fra spesifikasjoner (underklassene) til generisk (superklassen). Arv henviser til effekten av generalisering på underklassene.

Når du ser en generalisering forhold mellom klasser, er dens betydning svært forskjellig fra forholdet mellom en forening forhold mellom klasser. En forening er i siste instans et forhold mellom mange objekter - noen forekomster av en klasse har et forhold (link) med forekomster av den andre klassen. I et generaliseringsforhold blant klasser , handler forholdet egentlig om klassene. Det beste du kan si er at et objekt opprettet fra en underklasse inneholder alle funksjonene til underklasse og superklasse.

Du har bare ett objekt fra en klasse i et generaliseringsforhold. Selv om du viser to klasser, underklassen og superklassen, har du bare ett objekt som blir opprettet. Du kan tenke på et objekt av Videotape-klassen som også er et objekt av RecordedMedia-klassen på grunn av arv. Figur 2 viser et objekt opprettet fra Videotape-klassen med alle dets attributter.(Eksemplet på en klasse er representert som et objektsymbol.) Du har ikke to forskjellige objekter (en for RecordedMedia og en for Videobånd), bare ett objekt. Når objektet vtu83-1023 ble opprettet, ble alle dens attributter satt. Opptaket på båndet er 57 minutter. Den totale lengden på det fysiske båndet er 60 minutter. Båndet er en umatisk videokassett med en høyde på 10 tommer, en bredde på 7 tommer og en dybde på 1, 5 tommer. Opptaket er analogt, og en logg av tapeinnhold er festet til båndet for arkivisten som referanse.

Figur 2: En forekomst som viser alle arvede attributter.

Du har bare en forekomst definert av en underklasse og dens superklasse. Underklassen og superklassen kan ha en konstruktøroperasjon (for å lage forekomsten) og en destruktoroperasjon (for å ødelegge forekomsten). Når programvaren kjører, og du lager en forekomst av en underklasse, blir konstruktøren til superklassen utført først, etterfulgt av konstruktøren til underklassen. Når det kommer tid for å eliminere forekomsten du opprettet, kalles destruktoren til underklassen først, etterfulgt av destruktoren til superklassen. Hvis ting er mer komplekse fordi du har underklasser av underklasser, bare husk: Konstruktører er påkalt fra toppen av arvshierarkiet til bunnen; Destructors kalles i rekkefølge fra laveste underklasse til høyeste superklasse.

Lage generaliseringer i UML 2 - dummies

Redaktørens valg

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Noen ganger trenger du målserier i Excel-oversikten og rapportene dine. I enkelte bedrifter er et mål ikke en verdi - det er en rekke verdier. Det vil si at målet er å holde seg innenfor et definert målområde. Tenk deg at du klarer en liten bedrift som selger esker med kjøtt. En del av jobben din er å ...

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Hvis du skal bruke slicers på en Excel-dashbordet, bør du gjøre litt formatering for å få dine skiver til å passe til temaet og oppsettet på instrumentpanelet. Følgende diskusjon dekker noen formateringsjusteringer du kan gjøre til dine skiver. Størrelse og plassering av skiver En skiver oppfører seg som en standard Excel ...

Enkel statistikk i Excel Data Analyse - dummies

Enkel statistikk i Excel Data Analyse - dummies

Excel gir flere praktiske, brukervennlige verktøy for å analysere informasjon som du lagrer i et bord, inkludert noen raske og skitne statistiske verktøy. Se på følgende enkle bord. En enkel dagligvareliste. Et av de smaleste og raskeste verktøyene som Excel gir, er muligheten til enkelt å beregne summen, gjennomsnittet, antall, minimum og maksimum av ...

Redaktørens valg

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Hvis du klikker Tilpass rapport- QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

QuickBooks kan hjelpe deg skriv en hvit-papir forretningsplan. Folk skriver ofte en forretningsplan for hvitt papir når de vet at de trenger en strategisk plan, men ikke ønsker å ta de harde beslutningene som er nødvendige for en strategisk plan. Personen i denne konfronten skriver en lang hvit-papir forretningsplan for å camouflere den fraværende strategiske planen. ...

Redaktørens valg

Canon 60D elektronisk nivåfunksjon - dummies

Canon 60D elektronisk nivåfunksjon - dummies

Ikke hvert fotografi må være nivå med horisonten. Imidlertid lider mange typer bilder (landskap, bybilder og arkitektonisk fotografi) sterkt når kameraet er vippet. Den gammeldags løsningen for å utjevne kameraet ditt er å bruke et boble- eller åndnivå (funnet i fotobutikker) for å kontrollere kameraets justering med ...

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

På din Canon Rebel T3 eller T3i, kan du se en samling av tilleggsinnstillingsdata via kamerainnstillingsdisplayet. Denne skjermen er bare et informasjonsverktøy, men; Du kan ikke justere noen av de rapporterte innstillingene fra denne skjermen. For å vise skjermbildet Kamerainnstillinger på T3i, vis først innstillingsinnstillingene ...

Canon EOS 70D Kameraoppsett - dummies

Canon EOS 70D Kameraoppsett - dummies

Her er en oversikt over knappene, ringer og andre eksterne kontroller på Canon EOS 70D-kameraet ditt. Objektivet vist i de følgende figurene er Canon EF-S 18-135mm IS (bildestabiliseringsmodell) som selges med kameraet; Andre linser kan variere.