Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

UML-klassediagram & C# Erklæring af metode m. parameter

Lignende præsentationer


Præsentationer af emnet: "UML-klassediagram & C# Erklæring af metode m. parameter"— Præsentationens transcript:

1 Arkitekturen i computere & historisk udvikling + grundlæggende begreber i C#
UML-klassediagram & C# Erklæring af metode m. parameter Værdityper vs. reference typer Initialisering af objekter m. konstruktører Tal af typen floating-point & decimal Simple typer i C# Steen Jensen, efterår 2013

2 Fra mainframes til personlige computere (PC)
Computere startede med mainframes - store maskiner, som fyldte et stort rum og kostede i hundredtusindvis af dollars Gradvist kom minicomputere – mindre, masseproducerede computere til titusindvis af dollars I 1971 producerede Intel den første microprocessor (computerchip): Førte først til hobbycomputere (Sinclair, Commodore 64 ….) I 1980’erne: De første PC’ere dukkede op (IBM  kloner) Man skelnede dengang mellem workstations (særligt kraftige til typisk videnskabelige formål) og almindelige PC’ere Nu også embeddede processorer – små computere med simple microprocessorer indbygget i husholdningsmaskiner, biler etc.

3 Computerens elementer
En computer kan opdeles i forskellige fysiske elementer: CPU (udfører instruktioner i en cyklus styret af clockfrekvens) Hovedhukommelse / indre lager: computerchips udgør RAM Sekundær lager: harddisk, CD/DVD-drev Ydre enheder (tastatur, mus, skærm, printer …) Download ProcessorSim fra Tryk på Start Simulation I vinduet Control Panel kan du nu trykke på Start Execution Prøv også at trykke på Step og følg afviklingen stepvist Prøv også at se de løbende ændringer i vinduerne Registers samt Instruction Memory

4 Udviklingen i computerchips
Computerchips består af elektroniske kredsløb formindsket og ætset ned i plader fremstillet af silicium Nye teknikker bliver stadig fremstillet for at kunne presse stadig flere kredsløb ned på samme plade Kredsløb udvikler meget varme  køling nødvendig Fremtiden byder på quantum og molecular computing, hvor man bevæger sig ned i elektron- / molekylestørrelse

5 Udviklingen i operativsystemer
Fra kommandostyrede (DOS) til grafiske brugergrænseflader Fra ekspertstyret til allemandseje Proprietære OS (Microsoft Windows, Mac OS …) vs. open source (Linux etc.)

6 Netværk Lokale netværk – LAN = local area network
WAN = Wide area network Internettet = netværk af mange WANs Trådløse netværk: Wi-Fi

7 Computer software Computersoftware er en fællesbetegnelse for programmer, der kan afvikles på en computer Forskellige kategorier: Forretning & personligt: tekstbehandling, regneark … Videnskab & ingeniørarbejde: simulering af vejr, CAD … Internet & samarbejde: browsere, , Facebook, udnyttelse af uudnyttede computerressourcer hos brugere (fx projektet, hvor der analyseres kæmpe mængder af data fra radioteleskoper for at finde tegn på liv i rummet) Spil & underholdning: casual games, 3D-spil …

8 Historisk udvikling Fra EDB (elektronisk databehandling) til IT
Databaser fra hierarkiske til netværksdatabaser til relationsdatabaser. Nu også objektorienterede databaser Fra procedural programmering til eventstyret programmering til objektorienteret programmering En sammenhørende verden: internettet, e-handel (e-commerce), sociale netværk, ubiquitous computing

9 Erklæring (eng. : declaration) af klasse & oprettelse (eng
Erklæring (eng.: declaration) af klasse & oprettelse (eng.: instantiation) af objekt af klasse Eksemplet kan ses i fig s i bogen og findes også i de downloadede kodeeksempler i mappen ch04 og undermappen fig04_01_02 Når en klasse erklæres, skal der angives en såkaldt access modifier, der angiver egenskabers (properties) og metoders tilgængelighed for andre metoder i app’en – her angives normalt public Hvis en metode ikke returnerer nogen information, angives void Metodenavne navngives normalt som udsagnsord, og klasser som navneord En statisk metode (i Main) er speciel, da den kan kaldes uden først at skabe et objekt af klassen For at skabe et objekt af en klasse benyttes new

10 Generel opbygning af UML-klassediagram
Diagrammet er opbygget af tre dele Den øverste del består af klassens navn Den midterste del består af klassens attributter, hvilket svarer til instansvariable og egenskaber i C# Den sidste del består af klassens operationer, hvilket svarer til metoder i C#

11 Erklæring (eng.: declaration) af metode m. parameter
Eksemplet kan ses i fig s i bogen og findes også i de downloadede kodeeksempler i mappen ch04 og undermappen fig04_04_05 En metode kan benytte en eller flere parametre for at kunne udføre sin opgave Et metodekald giver værdier (også kaldet argumenter) til hver af metodens parametre Når en metode benytter parametre, angives en type og et navn for hver parameter NB! omvendt rækkefølge i forhold til C#

12 Instansvariable (eng. : instance variables) og egenskaber (eng
Instansvariable (eng.: instance variables) og egenskaber (eng.: properties) Eksemplet kan ses i fig s i bogen og findes også i de downloadede kodeeksempler i mappen ch04 og undermappen fig04_07_08 Variable knyttet til en klasse kaldes instansvariable (eng.: instance variables) og erklæres indenfor klassen, men udenfor klassens metoder Hvert objekt har sin separate instans af disse variable En klasse har normalt en eller flere egenskaber (eng.: properties), der kan manipulere disse instansvariable Generelt defineres metoder og egenskaber som public, mens instansvariable defineres som private At erklære instansvariable som private kaldes også for information hiding eller encapsulation Egenskaber (properties) indeholder såkaldte accessors, som håndterer at læse og ændre klassens instansvariable

13 UML-klassediagram med en egenskab (property)
Da en instansvariabel opfattes som en implementationsdetalje, medtages normalt instansvariable ikke i et UML-klassediagram

14 Automatisk implementerede egenskaber (eng
Automatisk implementerede egenskaber (eng.: auto-implemented properties) Eksemplet findes i de downloadede kodeeksempler i mappen ch04 og undermappen fig04_07_08_auto-impl-properties C# giver mulighed for at benytte automatisk implementerede egenskaber (eng.: auto-implemented properties) Dette betyder, at C# compileren skaber instansvariabel med tilhørende set/get accessors For at få en liste over såkaldte code snippets, trykkes Ctrl + k, Ctrl + x (alternativt kan man også højreklikke i editorvinduet og vælge Insert snippet) Auto-implemented properties findes i code snippets under prop

15 Værdityper (eng.: value types) vs. reference typer
Typer i C# kan opdeles i to kategorier: Værdityper (eng.: value types) Referencetyper (eng.: reference types) Simple typer i C# er alle værdityper (int, double etc.) En variabel af værditypen indeholder simpelthen en værdi En variabel af referencetypen indeholder derimod en adresse i hukommelsen på, hvor den refererede variabel er gemt – f.eks.: GradeBook myGradeBook = new GradeBook();

16 Initialisering af objekter m. konstruktører (eng.: constructors)
Eksemplet kan ses i fig s i bogen og findes også i de downloadede kodeeksempler i mappen ch04 og undermappen fig04_12_13 En klasse kan angive en konstruktør (eng.: constructor), som kan bruges til at initialisere et objekt af en klasse, når objektet oprettes C# kræver et kald til en konstruktør, når et objekt oprettes Den tomme parentes efter f.eks. new GradeBook() indikerer et kald uden argumenter til klassens konstruktør – på denne måde giver compileren en default konstruktør til alle klasser, også selv om der ikke eksplicit er angivet nogen konstruktør Hvis man ønsker selv at anvende en konstruktør, skal denne have samme navn som klassen En konstruktør skal ikke angive nogen return type

17 UML-klassediagram med en konstruktør (constructor)
Konstruktører angives normalt før de almindelige metoder i et UML-klassediagram

18 Øvelse modificering af fig. 4.12
Lav øvelse 4.10 s. 178 i VC#2012 bogen Du/I må meget gerne lave øvelsen som pair programming, hvor I hjælpes ad – I kan f.eks. skiftes til at være ”leder” og ”sekretær” Hvis du/I har problemer, så prøv først at vende det med det andet par i jeres gruppe, før I rækker hånden op og beder mig om hjælp

19 Tal af typen floating-point & decimal
Eksemplet kan ses i fig s i bogen og findes også i de downloadede kodeeksempler i mappen ch04 og undermappen fig04_15_16 C# benytter tre typer af decimaltal: float double decimal Float og double kaldes for floating-point typer – gemmer tilnærmede værdier, mens decimal præcise værdier Decimal bruges som regel til beløb Decimaltal (f.eks. 7.33) behandles som double som udgangspunkt – disse kaldes floating-point literals En decimal literal: f.eks. 7.33m eller 7.33M (m/M = money)

20 Oversigt over simple typer i C#

21 Self-review øvelser i grundlæggende C#-begreber
Prøv at besvare øvelse på s. 176 –177 uden at se svarene Check derefter dine svar op imod svarene s. 177n – 178ø

22 Øvelse i C# apps med brug af grundlæggende begreber
Resten af dagen + torsdag: Lav øvelse s i VC#2012 bogen Implementer use case(s) fra ”Spejder system” Du/I må meget gerne lave øvelsen som pair programming, hvor I hjælpes ad – I kan f.eks. skiftes til at være ”leder” og ”sekretær” Hvis du/I har problemer, så prøv først at vende det med det andet par i jeres gruppe, før I rækker hånden op og beder mig om hjælp


Download ppt "UML-klassediagram & C# Erklæring af metode m. parameter"

Lignende præsentationer


Annoncer fra Google