föreläsning 6

21
1 Föreläsning 6 • Klass • Object , instans av klass • public/private • Klassvariabler och klassmetoder

Upload: mindy

Post on 06-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Föreläsning 6. Klass Object , instans av klass public/private Klassvariabler och klassmetoder. Array och ArrayList. Arrayer och ArrayList är till för att innehålla en massa värde Eftersom alla värde har ett index så passar bra om man använder de med slingor - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Föreläsning 6

1

Föreläsning 6

• Klass

• Object , instans av klass

• public/private

• Klassvariabler och klassmetoder

Page 2: Föreläsning 6

2

Array och ArrayList

• Arrayer och ArrayList är till för att innehålla en massa värde

• Eftersom alla värde har ett index så passar bra om man använder de med slingor

• Man ska vara försiktig och inte missbruka arrayer för att hålla samman två värde.

Page 3: Föreläsning 6

3

Klass och instans (objekt)

•En klass är en mall för ett objektt.ex. bil, konto

• Ett objekt är en instans av en klass t.ex. den röda bilen, mitt lönekonto

• att skapa objekt i java:kännetecken (oftast): new t.ex. BufferedReader stdin = new BufferedReader(....

undantag: i java API den enda klass som inte behöver”new” för att skapa ett objekt är klassen ”String”

t.ex. String namn = ”Vahid”String namn = new String(”Vahid”);

Page 4: Föreläsning 6

4

Instansvariabler och instansmetoder

class Person {String name;byte age;String mailAddress;public Person(String n, byte a,String m){

name=n;age=a;mailAddress=m;

}public String getName(){

return name;} public byte getAge(){

return age;}public String getMailAddress(){

return mailAddress;}

}

Deklaration av instansmetoder

Deklaration av instansvariabler Deklaration av

konstruktör

Page 5: Föreläsning 6

5

2.16) Fördela följande till klasser och objekta) En bokb) Boken Java från grundenc) Min kopia av Java från grundend) Min hund e) Bilden av min hund medan han biter postmannenf) En bilg) En Chrysler

a)b)c)d)e)f)g)

Page 6: Föreläsning 6

6

ReferenserAlla variabler som används för att komma åt ett objekt är referenser.En referensvariabel innehåller inga värde däremot adressen till någon minnesutrymme där instansen befinner sig.

exempel:String str =” hej”; //str är en referens variabel som pekar på en instans av String.

men int tal = 2; // tal är en variabel som har värdet 2.

• En referens kan endast referera (peka) till en instans åt gången alltså inte mer än en instans.

• En instans kan refereras (pekas) av många referenser (pekare).

Page 7: Föreläsning 6

7

Följande kan alltså aldrig hända

refVarEtt objekt

Ett annatobjekt

Page 8: Föreläsning 6

8

str1 = ”prgmedcl”;String str1;

String str2;str2 = str1;

kod Minnesbild

str1 null

”prgmedcl”str2 null

tal 30

tal2 30

int tal = 30;

int tal2 = tal1;

Page 9: Föreläsning 6

9

Deklaration av variabel1 (klassvariabler)

Deklaration av metode1 (){ deklaration av lokala variabler ...}

Deklaration av klass {

Deklaration av variabel2 (klassvariabler)

Deklaration av metode2 (){ deklaration av lokala variabler ...}

Flera instansmetoder , klassmetoderoch konstruktorer kan deklareras här …

Flera instansvariabler eller klassvariablerkan deklareras här …

}

Programkodens uppbyggnad

Page 10: Föreläsning 6

10

Variabler

En variabel kan vara någon av följande:

• Klassvariabel

• Instansvariabel

• Lokalvariabel

Page 11: Föreläsning 6

11

Kännetecken för variabler• Kännetecken för en klassvariabel är: 1. deklareras med nyckelordet static 2. deklareras alltid utanför alla metoder men inom klassen

• Kännetecken för en instansvariabel är: 1. deklareras INTE med nyckelordet static2. deklareras alltid utanför alla metoder men inom klassen

• Kännetecken för en lokalvariabel är: 1. deklareras INTE nyckelordet static

2. deklareras alltid inom en metod eller som formell parameter

Page 12: Föreläsning 6

12

Variabler deklareras

instansvariabler 1.utanför metoder

2. utan static

klassvariabler 1.utanför metoder

2.med static

lokala variabler 1.inuti en metod

2.utan static

Page 13: Föreläsning 6

13

Metoder

En metod kan antingen vara en

• Klassmetod

• Instansmetod

• Konstruktor

Page 14: Föreläsning 6

14

Kännetecken för metoder

• Kännetecken för en klassmetod är att: 1. deklareras med nyckelordet static

2. har en returtyp • Kännetecken för en instansmetod är att:

1. deklareras INTE med nyckelordet static2. har en returtyp

• Kännetecken för en konstruktor är att:1. deklareras INTE med nyckelordet static 2. har ingen returtyp och har samma namn som klassen

Page 15: Föreläsning 6

15

Metod deklareras

Klassmetod • med static• med returtyp

Instansmetod • utan static• med returtyp

Konstruktor • utan static• utan returtyp• samma namn som klassen

Page 16: Föreläsning 6

16

public och private

• private – globala variabler och metoder som man bara kommer åt i samma klass. private double pris;

• public – globala variabler och metoder som man kommer åt även från andra klasser. public void reklam();

• En väluppfostrad programmerare deklarerar alla sina instansvariabler som private!

Page 17: Föreläsning 6

17

Klassmetoder

• Normalt anropas alltid en metod via ett objekt (en instans av klassen). Color röd = new Color(255,0,0);

Color mörkröd = röd.darker();

• Om en metod deklareras med static kan den anropas direkt från klassen - utan att man behöver skapa något objekt. double x = Math.sqrt(17);

• En klassmetod kan använda klassvariabler men inte instansvariabler.

Page 18: Föreläsning 6

18

Static när och varför?

P-HUS

200

200

200

200

nokia

limpa

BMW

PC för 5000

Page 19: Föreläsning 6

19

P-HUS

200

200

200

200

nokia

limpa

BMW

PC för 5000

Static när och varför?

Page 20: Föreläsning 6

20

P-HUS

200

200

200

200

nokia

limpa

BMW

PC för 5000

Static när och varför?

Page 21: Föreläsning 6

21

P-HUS

199

199

limpa

BMW

199

PC för 5000

199

nokia

Static när och varför?