Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertRoald Johannessen Endret for 9 år siden
1
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for å sette inn ting i tabellen: heltallsTabell[plassering] = 2; //Her er plassering nummeret i tabellen 012345678910
2
Variabletyper ferdigdefinerte variabeltyper: int – heltall lite long – heltall stort float – desimaltall lite double – desimaltall stort char – bokstav boolean – boolsk verdi true/false
3
Bruk av static metoder public class Eksempel{ public Eksempel(){ } public void viserTing(String nestenEtTall){ int nyVerdi = Integer.parseInt(nestenEtTall); System.out.println(nyVerdi); }
4
Metodekall /*Dette er måten man kaller metoder som returnerer en verdi*/ public int tall = leggTilEn(2); /*Dette er måten man kaller metoder som er void på*/ Datamaskin hal9000 = new Datamaskin(); hal9000.skruAv();
5
public class Person{ private String navn; private Datamaskin deepBlue; public Person(String nyttNavn){ navn = nyttNavn; deepBlue = new Datamaskin(); } public boolean starteArbeidet(){ deepBlue.skruPaa(); return true; }
6
Spørsmål 1: Hvis instansen kari endrer en static variabel, endres den også for per? Hvordan blir forskjellen på måten man kaller en void og ikke void metode? Må man alltid referer til en instans for å kalle en metode? Hvor kan man kalle en metode fra?
7
ArrayList Dynamisk datastruktur Kan lagre mange forskjellige instanser samtidig. Er et oppbevaringssted for referanser. Lages slik: ArrayList liste = new ArrayList(); Husk: import java.util.ArrayList;
8
Metoder i ArrayList public void add(int index, Object element); public boolean add(Object element); public void clear(); public Object get(int plassering); public Object remove(int plassering); public int size();
9
Forming (Casting) Fordi alle slags objekter kan settes inn i ArrayListen må man fortelle java hvaslags klasse objektet kommer fra. Dette skriver man slik: ArrayList listen = new ArrayList(); (Klassen) listen.remove(0); String ord = (String)listen.remove(0);
10
import java.util.ArrayList; public class Bokhylle{ private ArrayList boker; public Bokhylle(int antallBoker){ boker = new ArrayList(); for(int i =0;i<antallBoker;i++){ boker.add(new Bok(”Bok”+i)); } public Bok taUtBok(){ Bok bokSomTaesUt = (Bok)boker.remove(0); return bokSomTaesUt; }
11
Spørsmål 2: Hva er hovedforskjellen mellom en ArrayList og en tabell. Hva betyr det at ArrayList er en dynamisk struktur? Hvordan former/caster man et objekt/instans? Hvorfor må man forme/caste de objektene som kommer ut fra en ArrayList?
12
Ting å huske på: Initier ArrayListen din, ellers vil du få nullpointerexception når du kjører programmet. Dvs: ArrayList listen = new ArrayList(); Du må forme (caste) alt som kommer ut av en ArrayList Det første elementet er alltid 0!
13
Import Man skriver import java.util.ArrayList for å slippe å skrive java.util.ArrayList hver gang man referer til ArrayListen Eller alle klassene i en pakke: Du kan enten importere en klasse: java.util.ArrayList; java.util.*; Med import: ArrayList listen = new ArrayList(); Uten import: java.util.ArrayList listen = new java.util.ArrayList();
14
Spørsmål 3: Hvor skrives et import statement? Kan man importere en klasse på to forskjellige måter? Hvilken vits er det i å skrive et import statement? Når kan man komme i trøbbel hvis man importerer for mange pakker?
15
Innkapsling Hva er innkapsling? bruk av public/private Hvorfor innkapsling? Dess flere kokker jo mer søl. Kontroll på egne verdier. Kontroll på hva som blir påvirket av endringer i kode. Gir andre tilgang til kun det som de trenger tilgang til. Det du ikke vet har du ikke vondt av.
16
public class Eksamen{ private double internKarakter; private double eksternKarakter; public double hentKarakter(){ double karakter = (internKarakter+eksternKarakter)/2; } public void settInternKarakter(float nyKarakter){ internKarakter = nyKarakter; } public void settEksternKarakter(float nyKarakter){ eksternKarakter = nyKarakter; } Det er ikke alltid du vil at alle skal vite alt!
17
Spørsmål 4: Hva bruker vi for å få til innkapsling? Hvorfor er det mer naturlig å bruke innkapsling ved store/mange klasser enn ved små/få ? Hvorfor må man skrive mer kode hvis man bruke innkapsling? Hva må man gjøre for å gjøre det mulig for andre klasser å aksessere en privat variabel?
18
Hmm Selv om en klasse kompilerer kan det oppstå feil mens den kjøres. Det betyr typisk at man har glemt å instansiere en variabel. Eller at man prøver å sette inn et objekt på et sted der man ikke kan sette det. For eksempel på plassering 16 i en tabell som har lengde 10.
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.