Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

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.

Liknende presentasjoner


Presentasjon om: "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."— Utskrift av presentasjonen:

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.


Laste ned ppt "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."

Liknende presentasjoner


Annonser fra Google