Hva skal vi lære i dag? Inf1000 (Uke 9) UML og enda mer om klasser. Hvilke lesemetoder finnes? Filbehandling

Like dokumenter
Inf1000 (Uke 9) UML og enda mer om klasser

Hva skal vi lære i dag? Inf1000 (Uke 9) UML og enda mer om klasser. Hvilke lesemetoder finnes? Filbehandling. Repetisjon om filbehandling UML

INF Forelesning oppsummering forts. Et meget enkelt banksystem. Oppsummering om klasser, objekter, pekere og.

Inf1000 (Uke 9) UML og enda mer om klasser

INF1000: Forelesning 7. Konstruktører Static

Uke 7 Mer om Objekter, klasser og pekere; UML. 10. okt. 2013, Arne Maus Inst. for informatikk, UiO

Et meget enkelt banksystem

INF1000: Forelesning 7

Uke 7 Mer om Objekter, klasser og pekere; 27. Sept og 4. okt. 2011, Arne Maus Inst. for informatikk, UiO

Null, && og søppeltømmeren. INF Forelesning 9: Mer om objekter og klasser, tips til oblig 3. Eksempel Student med én konstruktør

Uke 7 Mer om Objekter, klasser og pekere;

Uke 7 Mer om Objekter, klasser og pekere;

Stringer er ordentlige objekter. Uke 8 - Mer om objekter og klasser. Tips Oblig3. Eksempel Student med en konstruktør

(! )! #!! *#+,$&!! &#$

3 #$ *#+,$&!! &#$ (! )! #! 6 &#)%#. / 5$ #%#.67 / "## #&! %# # & #!!& %&$ # $!!!!# $#

Objekter. Uke 7 og 9 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

Objekter. Uke 8 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

Uke 6 og 7 - Objekter, klasser og pekere; 23. og 30. sept. 2008, Arne Maus Inst. for informatikk, UiO

Uke 6 og 7 - Objekter, klasser og pekere; 22. og 29. sept. 2009, Arne Maus Inst. for informatikk, UiO

Uke 6 og 7 - Objekter, klasser og pekere; Verden består av mange objekter, noen ganske like, noen ulike

Objekter. Uke 6 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

Inf1000 (Uke 7) Objekter, klasser og pekere

Uke 7 - Objekter, klasser og pekere (+ litt først om args[])

! " ##$ % 4 2, &/ ( & +, )-. &* &/ ),* 0, 1 1 ( &/ 2& &, & &/ &,, &/" 2 &/ 2 ) *

( & ( &/ 2& , )-. &* &/ ),* 0, &/ 2 ) *

Klasser, objekter, pekere og UML. INF gruppe 13

Oblig 3 to versjoner. INF Forelesning 8: Objekter, klasser og pekere. Verden består av mange objekter: noen ganske like, andre ulike

Oversikt. Inf1000 (Uke 7) Objekter, klasser og pekere. Variable, deklarasjon og tilordning. Løkker gjør setninger flere ganger

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

INF1000 (Uke 4) Mer om forgreninger, While-løkker

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

INF1010 UML. Marit Nybakken 26. januar 2004

Oblig 4Hybelhus litt mer tips enn i oppgaven

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

INF1000: noen avsluttende ord

UNIVERSITETET I OSLO

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

Ole Christian Lingjærde, 12. september 2013

Forelesning inf Java 4

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Forelesningsquiz. Forelesning inf Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

UNIVERSITETET I OSLO

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo

Repetisjon. INF gruppe 13

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

UNIVERSITETET I OSLO

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

INF1000 : Forelesning 5

INF Uke 10. Ukesoppgaver oktober 2012

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11).

INF1000: Forelesning 6. Klasser og objekter del 1

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java

Java 4. Mer om easyio Mer om forgreninger Løkker. 7. september 2004

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

INF 1000 høsten 2011 Uke 3 6. september

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.

Repetisjon INF 1000 våren 2006

Oblig 3 tips litt mer tips enn i oppgaven

UNIVERSITETET I OSLO

INF1000: noen avsluttende ord

Forelesning inf Java 5

UNIVERSITETET I OSLO

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

INF1000 oppgaver til uke 38 (17 sep 23 sep)

Forelesning inf Java 4

Innhold uke 3. INF 1000 høsten 2011 Uke 3 6. september. Uttrykk. Variabel: En plass i hukommelsen

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

UNIVERSITETET I OSLO

INF1000: Forelesning 4. Mer om arrayer Metoder

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

Inf1000 (Uke 7) Objekter, klasser og pekere

Oversikt. Inf1000 (Uke 7) Objekter, klasser og pekere. Løkker gjør setninger flere ganger. Variable, deklarasjon og tilordning

INF1000 : Forelesning 3

Oblig4 - forklaringer. Arne og Ole Christian

INF1000 : Forelesning 4

Innlesning fra tastatur med easyio. INF1000 høst Vi må først skrive i toppen av programmet: import easyio.*;

Først: Parametre til oppstart av programmet, Hvordan kan vi bruke args[]? String [] args. Parameteren args[] blir laget av deg

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

UNIVERSITETET I OSLO

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program

2 Om statiske variable/konstanter og statiske metoder.

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Gjennomgang av eksamen H99

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Transkript:

Hva skal vi lære i dag? Inf1000 (Uke 9) UML og enda mer om klasser Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Repetisjon om filbehandling Ny type, oppramsingstypen enum UML Eksempler med klasser og objekter Oppsummering/repetisjon av klasser, objekter og UML. Anja Bråthen Kristoffersen og Are Magnus Bruaset 13.03.2006 2 Filbehandling Hvilke lesemetoder finnes? Importer pakken easyio.*; Lesing til/fra fil er veldig likt det å skrive til/fra skjerm. Åpn filen fil.txt for lesing ved å lage et objekt (her lesfra) av klassen In: In lesfra = new In( fil.txt ); Åpn filen ut.txt for skriving ved å lage et objekt (her skrivtil) av klassen Out: Out skrivtil = new Out( ut.txt ); Husk alltid å lukke objektet av klassen Out når du ikke skal skrive mer til filen: skrivtil.close(); Datatype Eksempel Int lesfra.inint(); Double lesfra.indouble(); Char lesfra.inchar(c); String lesfra.inword(); lesfra.inword("\n"); lesfra.inline(); lesfra.endoffile(); lesfra.lastitem(); Beskrivelse Leser inn et heltall Leser inn et desimaltall Leser inn et tegn Leser inn et ord (fram til mellomrom) Leser neste ikke-tomme linje Leser inn neste linje Sjekker om slutten på filen er nådd Sjekker om slutten på filen er nådd, leser forbi blanke tegn. 13.03.2006 3 13.03.2006 4

Hvilke skrivemetoder finnes? Eksempel Datatype int double Char String Eksempel skrivtil.out(x); skrivtil.out(x, 6); skrivtil.out(x, 2); skrivtil.out(x, 2, 6); skrivtil.out(c); skrivtil.out(s); skrivtil.out(s, 6); skrivtil.outln(); skrivtil.close(); Beskrivelse Skriv x Skriv x høyrejustert på 6 plasser Skriv x med 2 desimaler Skriv x med 2 desimaler på 6 plasser Skriv c Skriv s Skriv s på 6 plasser (venstrejustert) Skriv en linjeskift Lukk filen Anta at det fins en fil med navn på alle studenter samt kjønn og alder. Først i filen er det opplysning om kursnavn og antall studenter. Beregn prosentandelen jenter blant studentene. Beregn gjennomsnittsalder til studentene Skriv til ny fil: kursnavn antall studenter prosentandel jenter gjennomsnittsalder Merk: dersom antall plasser spesifiseres og det ikke er plass til det som skal skrives 13.03.2006 5 ut, vil det som skrives ut avsluttes med tre punktumer:... 13.03.2006 6 Eksempler på tekstfilene Hva må vi lese inn / hvilke variable skal vi ta vare på Les fra: Inf1000 5 M 30 Per Hansen M 20 Ola Normann K 23 Heidi Larsen M 22 Inge Braa K 35 Anna Enger Utskriftsfilen: Inf1000 5 40% jenter Gjennomsnittsalder: 26 år Kursnavn: kaller variabelen kurs, les med inword() Antall studenter: kaller variabelen antstud, les med inint() (les resten av linjen med inline()) Nå vet vi hvor mange linjer det er i resten av filen, dermed kan vi bruke ei for-løkke. For hver linje les inn: kjønn (inchar()), øk en tellevariabel med en, enten k eller m alder (inint()), øk samlet totalalder med alder navnet (inline()), dette trenger vi ikke senere, vi tar heller ikke vare på det 13.03.2006 7 13.03.2006 8

Hva skal vi skrive ut Kursets navn:.outln(kurs); Antall studenter:.outln(antstud); Prosentandel jenter Formel: Math.round(100*k/antStud) Gjennomsnittsalder Formel: Math.round(totalAlder/antStud) NB! HUSK Å LUKKE FILEN..close(); 13.03.2006 9 import easyio.*; class StudentInfo{ public static void main (String args[]){ String frafilnavn = args[0]; String tilfilnavn = args[1]; In frafil = new In(fraFilNavn); String kurs = frafil.inword(); int antstud = frafil.inint(); frafil.inline(); int alder = 0; int m = 0; int k = 0; for (int i = 0; i < antstud; i++){ char c = frafil.inchar(); switch (c){ case 'M': m++; break; case 'K': k++; break; alder = alder + frafil.inint(); frafil.inline(); Out tilfil = new Out(tilFilNavn); tilfil.outln(kurs); tilfil.outln(antstud); tilfil.out(math.round(k*100/antstud)); tilfil.outln("% jenter"); tilfil.out("gjennomsnittsalder: "); tilfil.outln(math.round(alder/antstud)); tilfil.close(); 13.03.2006 10 enum: oppramsingstyper Eksempel: iterer over elementene i enum I java 1.5 er det kommet en ny type variabel som bare skiller mellom ulike navngitte verdier. Eksempel: enum Hverdag {mandag, tirsdag, onsdag, torsdag, fredag Class EnumEks{ public static void main(string[] args){ Hverdag d = Hverdag.mandag System.out.println( I dag er det + d); 13.03.2006 11 enum Hverdag {mandag, tirsdag, onsdag, torsdag, fredag Class EnumEks2{ public static void main(string[] args){ for (Hverdag d: Hverdag.values()){ System.out.println( dag: + d + ukedagnummer: + d.ordinal()); Metodene values() og ordinal() er forhåndslagde metoder i Java 1.5. Metoden values() itererer over alle verdiene i oppramsningstypen. Plasseringen det elementet vi ser på har i oppramsingen finner vi med metoden ordinal(). 13.03.2006 12

Eksempel: verdi på elementene i enum enum Hverdag { mandag(4), tirsdag(3), onsdag(2), torsdag(1), fredag(0); final int dagerigjentilhelgen; Hverdag (int v){ dagerigjentilhelgen = v; class EnumEks3{ public static void main(string[] args){ for (Hverdag d: Hverdag.values()){ System.out.println( dag: + d +, antall dager igjen til helgen er: + d.dagerigjentilhelgen); 13.03.2006 13 Hva er UML (Unified Modeling Language) Internasjonal standard for planlegging og dokumentering av programmer (uavhengig av programmeringsspråk). Det fins mange typer diagrammer innen UML, vi skal lære om: Objektdiagrammer Klassediagrammer UML brukes både som hjelp og støtte til utforming av programmet og til dokumentasjon av et ferdig program. 13.03.2006 14 UML-diagrammer av programmene våre Objekt-diagrammer Diagrammer over programmene gir oversikt gjør samarbeid med andre programmererer / systemutviklere enklere Arkitekter, ingeniører tegner først, så bygger de! Enklere å endre en tegning enn et program Enklere å diskutere en tegning enn et program UML diagrammene er litt annerledes enn det vi har tegnet hittil (men mye av det samme) (i UML er det ca 10 andre diagramtyper vi ikke skal lære) 13.03.2006 15 Vi tegner en typisk situasjon av objekter i systemet vårt, når vi har fått datastrukturen på plass. Vi tegner og navngir bare de mest sentrale dataene som: pekere peker-arrayer noen sentrale variable i objektene 13.03.2006 16

Tegning av et objekt (med mer eller mindre detaljer) Andre elementer i et objektdiagram To eller ett felt(er) i en boks Navnfeltet objektnavn:klassenavn eller bare :klassenavn Attributt-feltet (kan være tomt) Navnet på sentrale objektvariable evt. også med verdier Pekere Peker-arrayer 13.03.2006 17 13.03.2006 18 Eksempel: En CD-samling Vi ønsker å lage et lite menystyrt program for å holde orden på CD-samlinga vår med mindre enn 1000 CDer. Vi skal ha funksjoner for å : registrere ny CD søke etter artist (dvs. skriv ut alle CD-ene til en artist) skrive ut register over alle CD-ene Hvilke klasser har vi i dette problemet Opplagt class CD Noen flere? Klassene: CD og CDsamling Vi tenker oss følgende datastruktur Er den tilstrekkelig? Vi har her forenklet programmet (klassen CDsamling forventes å inneholde main, meny-metode og sentral switch,..., mens CD inneholder utskriftsrutine). 13.03.2006 19 13.03.2006 20

import easyio.*; class CD{ String artist, tittel; void skrivut(out u) { u.outln("artist:" + artist + ", Tittel:" + tittel); class CDsamling{ CD[] minsamling = new CD[1000]; int antcder = 0; public static void main(string args[]) { In tast = new In(); Out skj = new Out(); CDsamling e = new CDsamling(); String a; CD c; int valg; 13.03.2006 21 do{ skj.outln("velg:"); skj.outln(" 1 - les ny CD (skriv artist og CD-tittel"); skj.outln(" 2 - skriv ut alle CD-er til gitt artist"); skj.outln(" 3 - avslutt"); valg = tast.inint(); switch(valg) { case 1: // les inn ny CD c = new CD(); e.minsamling[e.antcder++] = c; skj.out("gi artistnavn:"); c.artist = tast.inword("\n"); skj.out("gi tittel:"); c.tittel = tast.inword("\n"); break; case 2: // skriv data skj.out("gi artistnavn:"); a = tast.inword("\n"); for (int i = 0; i < e.antcder; i++){ if (e.minsamling[i].artist.equals(a)){ e.minsamling[i].skrivut(skj); break; case 3: // avslutt skj.out("systemet avslutter"); break; default: // feil skj.out("bare gi verdier: 1-3"); while (valg!= 3); 13.03.2006 22 Eksempel: et helt studentregister med kurs og studenter Studenter ved Universitetet i Oslo tar som regel tre kurs hvert semester, men de kan ta flere eller færre (vi forenkler og antar at alle tar tre kurs). Vi har behov for å registrere hvilke kurs som eksisterer/går hvert semester og hvor mange studenter som tar hvert kurs. UML-diagram for Studentregister2 Objektdiagrammet er en forenkling av programmet. Det tar bare med den essensielle datastrukturen (mest pekere og peker-arrayer) som holder datastrukturen sammen Vi tegner først en tenkt datastruktur et UML objektdiagram Så skriver vi programmet 13.03.2006 23 13.03.2006 24

class Student { String navn; Kurs[] minekurs = new Kurs[3]; Student(String navn, Kurs[] k){ this.navn = navn; for (int i = 0; i < k.length; i++ ){ minekurs[i] = k[i]; minekurs[i].antstudenter++; void skrivut() { System.out.println("Student med navn: +navn+", og kurs:"); for (int i = 0; i < minekurs.length; i ++){ System.out.println(mineKurs[i].kurskode); class Kurs { String kurskode; int antstudenter = 0; Kurs(String k) { kurskode = k; 13.03.2006 25 class StudentRegister2{ public static void main(string args []) { String[] kurskode = {"INF1000","INF1050", MAT1030"; Kurs[] infkurs = new Kurs[3]; for (int i = 0 ; i< infkurs.length; i++) infkurs[i] = new Kurs(kurskode[i]); Student[] stud = new Student[2]; stud[0] = new Student("Ola N", infkurs); stud[1] = new Student("Åsne S",infKurs); for (int i = 0 ; i< stud.length; i++) stud[i].skrivut(); 13.03.2006 26 Klassediagrammer En mer kompakt måte å tegne sammenhengen i programmet på enn objektdiagrammer Skiller seg fra objektdiagrammer ved at vi ikke direkte tegner datastrukturen (pekere og pekerarrayer), men bare forhold (assosiasjoner, forbindelser) mellom klassene. I klassediagrammer dokumenterer vi også sentrale metoder. Forholdene er linjer med et logisk navn og antall objekter i hver ende Anta at vi har laget en class Konto med tre objektvariable: saldo, eier og adresse og en metode: settinn(). 13.03.2006 27 Tre (fire) mulig felter i tegning av en klasse Navnefeltet (alltid) klassenavnet Kan utelates: Variabelfeltet (attributtene) variabelnavn evt. med type Metode-feltet Evt med parametere og returverdi (Unntaks-feltet) Symboler for synlighet (fra resten av programmet) + public - private # package 13.03.2006 28

Forhold mellom klasser En student har null eller flere eksamener Vi tegner et forhold mellom to klasser som har med hverandre å gjøre logisk sett,og hvor vi i programmet vil kunne følge pekere for å få adgang til variable eller metoder Vi skriver hvor mange objekter det maksimalt på ett tidspunkt kan være på hver side av et slikt forhold Siden vi med: Eksamen mener en avlagt enkelt-eksamen vil en Eksamen bare være tilknyttet en bestemt student Navnet på forbindelsen antall Student antall Eksamen En student har tatt null, en eller flere Eksamener Antallet objekter angis slik: 13.03.2006 29 Sammenligning: Objektdiagram og Klassediagram Et litt mer komplisert studentregister Et studentregister holder orden på studentene og kursene. En student tar 3 kurs hvert semester I tillegg holder objektene i kurs rede på hvilke studenter som tar kurset 13.03.2006 31

Regler for å plassere riktige antall på et forhold 1. Anta at du står i ett objekt av en klasse og ser over til (langs en forbindelse) til en annen klasse: 2. Hvor mange objekter ser du da maksimalt på et gitt tidspunkt av den andre klassen 3. Det antallet noteres på den andre siden 4. Du går så over forbindelsen til den andre klassen og antar at du nå står i ett objekt av denne klassen og gjentar pkt. 1-3 13.03.2006 33 Hvilke forhold skal vi ha med i klassediagrammet Hva ett objekt av den ene klassen: inneholder består av eier,.. en eller flere objekter av den andre klassen Der vi i programmet vil følge en peker for å få tak i verdien på visse variable i den andre klassen eller kalle en metode. Det er da ikke naturgitt hvilke forhold vi har i et klassediagram, det avhenger av hvilke spørsmål vi vil være interessert i å svare på. 13.03.2006 34 Oppsummering om klasser, objekter, pekere og. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter som er av samme klasse, beskrives med de samme variablene, men vil ha forskjellige verdier på noen av disse. Eks: To bankkonti med ulik eier og kontonummer, men samme beløp på saldo (tilfeldigvis) Vi lager objekt orienterte programmer ved å lage en modell av problemområdet i Java programmet ett objekt i verden gir ett tilsvarende Java-objekt i programmet Objekter kan være av ulik type, og for hver slik type deklarerer vi en klasse i programmet 13.03.2006 35.. oppsummering forts. Et Javaprogram består av en eller flere klasser En klasse er en deklarasjon av data og metoder for ett objekt av klassen. Vi deklarerer pekere til objekter av en bestemt klasse f.eks. class Kurs {.. slik: Kurs kurs14, k2, k; Vi lager objekter fra klassen med new k2 = new Kurs(); Et objekt inneholder en kopi av alle ikke-statiske variable og ikkestatiske metoder i klasse Disse kalles objekt-variable og objekt-metoder Vi får adgang (lese, skrive og kalle metoder) til det som er inni et objekt ved. Operatoren : Vi må ha en peker til et objekt etterfulgt av punktum. s2.adresse ="bokhandelen i Kabul"; s1.skrivut(); 13.03.2006 36

oppsummering forts. Lenge til neste forelesning Klasser er oppskrifter på hvordan vi lager objekter med new Vi deklarerer pekere til objekter og bruker punktum. Kan ha arrayer av pekere til objekter Konstruktører er startmetoder med samme navn som klassen. Konstruktørene kalles hver gang vi sier new. UML-diagrammer (Objekt- og Klasse-diagram) gir oversikt og forenkling som ingeniørene lager vi tegninger før vi lager systemet (programmerer) Uke 12: undervisningsfri / midtterm eksamener (Vi har ikke midttermeksamen i inf1000) 27. mars skal dere lære om HashMap som dere trenger for å løse oblig4. 13.03.2006 37 13.03.2006 38 Orakeltimer til oblig 3 13.03.2006 39