Repetisjon. Fundamentale konsepter. Objekter og klasser Grunnleggende programmering i Java Monica Strand 28.

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

Object interaction. Innhold. Abstraksjon Grunnleggende programmering i Java Monica Strand 3. september 2007.

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Tuva Kristine Thoresen

Programmering Høst 2017

INF Notater. Veronika Heimsbakk 10. juni 2012

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.

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

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

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

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

Repitisjonskurs. Arv, Subklasser og Grensesnitt

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

INF1010 våren januar. Objektorientering i Java

Seminaroppgaver IN1010, uke 2

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"

JAVA Oppsummering for IS-102. Even Åby Larsen

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

Algoritmer og datastrukturer E Løkker i Java

UNIVERSITETET I OSLO

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }

Arv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {

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

IN1010 våren januar. Objektorientering i Java

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL

INF1000 Metoder. Marit Nybakken 16. februar 2004

INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser

UNIVERSITETET I OSLO

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

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

Forelesning inf Java 4

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

2 Om statiske variable/konstanter og statiske metoder.

Kapittel 5: Objektkommunikasjon

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

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

JS: Grunnleggende JavaScript Nybegynner

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Enkle generiske klasser i Java

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

JS: Grunnleggende JavaScript

Programmering i C++ Løsningsforslag Eksamen høsten 2005

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

UNIVERSITETET I OSLO

INF1010, 15. januar time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010 Arv. Marit Nybakken 2. februar 2004

Blokker og metoder INF1000 (Uke 6) Metoder

Feilmeldinger, brukerinput og kontrollflyt

UNIVERSITETET I OSLO

INF1000 : Forelesning 4

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

INF1000: noen avsluttende ord

UNIVERSITETET I OSLO

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

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

INF1010 våren Arv og subklasser - del 2

Kapittel 7: Mer om arv

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

UNIVERSITETET I OSLO

TDT4100 Objektorientert programmering

Del 3: Evaluere uttrykk

Programmeringsspråket C

klassen Vin må få en ny variabel Vin neste alle personvariable (personpekere) i listeklassen må byttes til Vin

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Introduksjon til objektorientert programmering

INF våren 2017

INF Seminaroppgaver til uke 3

Kapittel 8: Programutvikling

Øvingsforelesning 5 Python (TDT4110)

Forelesning inf Java 5

Java-kurs. Andreas Knudsen Nils Grimsmo 9th October 2003

Forelesning inf Java 5

Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %

UNIVERSITETET I OSLO

Forkurs INF1010. Dag 3. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 15.

AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1

TDT4100 Objektorientert programmering

"behrozm" Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo

INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon.

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

INF1000 oppgaver til uke 38 (17 sep 23 sep)

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk

Kapittel 9: Sortering og søking Kort versjon

Løsningsforslag til eksamen i INF1000 våren 2006

Del 4 Noen spesielle C-elementer

INF1010 våren Grensesnitt

Øvingsforelesning 5 Python (TDT4110)

Objektorientert programmering i Python

Velkommen til. INF våren 2016

INF1010, 21. januar Klasser med parametre = Parametriserte klasser = Generiske klasser

UNIVERSITETET I OSLO

Oversikt. INF1000 Forelesning 6. Variable Deklarasjon. Variabel en plass i lageret int radius;

2 Om statiske variable/konstanter og statiske metoder.

Java PRP brukermanual

In105 Programmering i Java de første skritt

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

Hvordan angripe en større oppgave? (og hva skal jeg gjøre i oblig 7!?)

Visuell Programmering: Kom i gang med Processing

Transkript:

Repetisjon Grunnleggende programmering i Java Monica Strand 28. november 2007 Gr. leggende Java 28. november 2007 1 object class method parameter data type Fundamentale konsepter Gr. leggende Java 28. november 2007 2 Objekter og klasser objekter Representerer ting fra den virkelige verden, eller fra et eller annet problemområdre (eksempel: den store snømannen der borte på fotballbanen ) klasser Representerer alle objekter av en spesiell type (eksempel: snømann ) Gr. leggende Java 28. november 2007 3 1

Metoder og parametre Objekter har handlinger som kan bli anropt (metoder). Metoder kan ha parametre som sender over informasjon som er nødvendig for å gjennomføre handlingen. Gr. leggende Java 28. november 2007 4 Mange instanser kan bli laget av en enkelt klasse. Et objekt har attributter/egenskaper: verdier lagret i felter/variable. Klassen definerer hvilke felter et objekt har, men hvert objekt lagrer sitt eget sett med verdier (tilstanden til objektet). Gr. leggende Java 28. november 2007 5 Tilstand Gr. leggende Java 28. november 2007 6 2

To sirkel objekter Gr. leggende Java 28. november 2007 7 Returverdier Metoder kan returnere resultater via en returverdi. Gr. leggende Java 28. november 2007 8 Konstruktører Konstruktører initialiserer objektet. Samme navn som klassen. Lagrer verdier i feltene. Tar ofte i mot eksterne parametre for å gjøre dette. public Snømann(int antsnøballer, int[] diameter) ant = antsnøballer; this.diameter = diameter; Gr. leggende Java 28. november 2007 9 3

Aksessmetoder Metoder implementerer adferden til objektet. Aksessorene skaffer informasjon om objektet. Metoder har en struktur bestående av en topptekst og innhold. Toppteksten (header) definerer metodens signatur. public int getantsnøballer() Innholdet forteller om metodenes utsagn/kommandoer. Gr. leggende Java 28. november 2007 10 Aksessmetode returtype synlighetsmodifikator public int getprice() return price; metodenavn parameterliste (tom) returnkommando start og slutt på metodeinnholdet (blokk) Gr. leggende Java 28. november 2007 11 Mutatormetode Har en lignende metodestruktur: topptekst og innhold. Brukes for å endre et objekts tilstand. Oppnås ved å endre verdien på en eller flere felter. Inneholder typisk tilordningskommandoer. Mottar ofte parametre. Gr. leggende Java 28. november 2007 12 4

Mutatormetode synlighetsmodifikator returtype metodenavn parameter public void insertmoney(int amount) balance = balance + amount; felt som endres tilordningskommando Gr. leggende Java 28. november 2007 13 Gjøre valg if nøkkelord Boolsk betingelse som skal testes Handling hvis betingelsen er sann if(utfør en test) Utfør disse kommandoene hvis testen gir sant resultat else Utfør disse kommandoen hvis testen gir usant resultat else nøkkelord Handling hvis betingelsen er usann Gr. leggende Java 28. november 2007 14 Lokale variable Felter er en type variable De lagrer verdier gjennom hele levetiden til objektet. De er tilgjengelige fra hele klassen. Metodene kan inkludere mer kort livede variable De eksisterer så lenge metoden blir kjørt. De er kun tilgjengelige inne i metoden. Gr. leggende Java 28. november 2007 15 5

Objekter som lager objekter Gr. leggende Java 28. november 2007 16 Objekter strukturert i samlinger Gr. leggende Java 28. november 2007 17 Legge til et tredje objekt Gr. leggende Java 28. november 2007 18 6

Gjentakelse General form of the for-each loop for nøkkelord Løkke-topptekst for(elementtype element : collection) løkkeinnhold Kommandoer som skal gjentas Pseudokodeuttryk for handlingene I en for-each-løkke For hvert element i en samling, gjør tingene som står i løkkeinnholdet Gr. leggende Java 28. november 2007 19 Eksempel /** * List opp alle notater i en notatbok */ public void listnotes() for(string note : notes) System.out.println(note); for hvert note in notes, skriv ut note Gr. leggende Java 28. november 2007 20 While løkke Generell form for en while-løkke while nøkkelord while(løkkebetingelser) løkkeinnhold boolsk test Kommandoer som skal gjentas Pseudokodeuttrykk for handlingene I en while-løkke Så lenge vi ønsker å fortsette, gjør tingene i løkkeinnholdet Gr. leggende Java 28. november 2007 21 7

While eksempel /** * List opp alle notatene i en notatbok. */ public void listnotes() int index = 0; while(index < notes.size()) size()) System.out.println(notes.get(index)); index++; Tell opp index med 1 Så lenge verdien av index er mindre enn størrelsen på samlingen, skriv ut tekstnoden og tell opp index Gr. leggende Java 28. november 2007 22 For løkke Generell form på en for-løkke for(initialisering; betingelse; etterpå handling) Kommandoer som skal gjentas Tilsvarende i while-løkke-form initialisering; while(betingelse) kommandoer som skal gjentas etterpå handling Gr. leggende Java 28. november 2007 23 For løkke eksempel for-løkke-versjon for(int hour = 0; hour < hourcounts.length; hour++) System.out.println(hour + ": " + hourcounts[hour]); While-løkke-versjon int hour = 0; while(hour < hourcounts.length) System.out.println(hour + ": " + hourcounts[hour]); hour++; Gr. leggende Java 28. november 2007 24 8

Klasser og objekter Nå skal vi lage snømenn og snøborger. Hovedklassen er Snøball Hvilken egenskaper må en snøball ha? Hvilke metoder bør en snøball ha? To klasser arver fra snøballklassen Snømann Snøborg Gr. leggende Java 28. november 2007 25 9