Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

KONCEPT Klasser og objekter En klasse beskriver et World ArrayList

Lignende præsentationer


Præsentationer af emnet: "KONCEPT Klasser og objekter En klasse beskriver et World ArrayList"— Præsentationens transcript:

1 KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
KONKRETE En klasse beskriver et KONCEPT FYSISKE KONCEPTER World ArrayList DieCup MATEMATISKE KONCEPTER SkilledTurtle Vector Circle MÆNGDER Wombat Crab String Actor ABSTRAKTE

2 KONCEPT INSTANS Klasser og objekter DieCup c1; DieCup c1
En klasse beskriver et Et objekt er en c1 KONCEPT INSTANS af en klasse NAVN ERKLÆRING INITIALISERING DieCup c1; DieCup c1 = new DieCup();

3 KONCEPT INSTANS Klasser og objekter Vector vel = new Vector(2, 3);
En klasse beskriver et Et objekt er en vel KONCEPT INSTANS af en klasse NAVN ERKLÆRING INITIALISERING Vector vel = new Vector(2, 3);

4 12 QUIZ Angiv klassenavne på følgende koncepter
Beskriv følgende koncepter ud fra deres klassenavne

5 QUIZ Die d1; String course; d1 = new Die(); Vector vel;
Hvilke af disse er erklæringer? Og hvilke er initialiseringer? Die d1; String course; d1 = new Die(); Vector vel; course = "dIntProg” int n = 5; 1 2 3 4 5 6

6 NAVN PLADSHOLDER Variabler Variablen kaldes også en objektreference
En variabel er et NAVN PLADSHOLDER og en på et objekt for netop dét objekt Klassen udgør variablens type c1 vel

7 FELTVARIABLER Variabler private Vector vel;
KLASSE: Ball FELTVARIABLER private Vector vel; udgør et objekts tilstand Kan tilgås overalt i klassen vel = new Vector(xVel, yVel); d1 Vector-instansen tilhører kun én Ball-instans dice d2 wormCount vel sun eyes

8 LOKALE VARIABLER PARAMETRE Variabler DieCup c1; int i;
sum Kan kun tilgås i den pågældende metode i PARAMETRE xVel nDice yVel public Ball(int xVel, int yVel) public void kochFlake(int n, double length) length

9 ArrayList<Die> dice;
QUIZ Hvad er typerne af følgende variabler? String name; double real; ArrayList<Die> dice; Hvad er indholdet af feltvariablen vel ved ? Og ved ? 1 2 private Vector vel = new Vector(2, 3); public void moveBy(Vector vel) { vel = new Vector(-1, 4); } 1 2

10 PROCEDURE Metoder public int getEyes() { return eyes; }
En metode definerer en bestemt Metoder udgør et objekts opførsel PROCEDURE i et objekt KLASSE: Die public int getEyes() { return eyes; } METODESIGNATUR METODEKROP

11 PROCEDURE Metoder private void kochFlake(int n, double length)
En metode definerer en bestemt Metoder udgør et objekts opførsel PROCEDURE i et objekt ACCESS MODIFIER NAVN private void kochFlake(int n, double length) public void kochFlake(int n, double length) RETURTYPE PARAMETRE

12 ACCESSOR Metoder public int getEyes() { return eyes; }
Returnerer information om objektets tilstand KLASSE: Die public int getEyes() { return eyes; }

13 ACCESSOR Metoder public boolean hitTopWall() { … return true; }
Returnerer information om objektets tilstand KLASSE: Ball public boolean hitTopWall() { return true; }

14 MUTATOR Metoder public void roll() { eyes = …; }
Ændrer objektets tilstand KLASSE: Die public void roll() { eyes = …; }

15 MUTATOR Metoder public void move() { … … setLocation(newX, newY)
Ændrer objektets tilstand KLASSE: Ball public void move() { setLocation(newX, newY) } SUPERKLASSE: Actor x = newX; y = newY;

16 KONSTRUKTØR Metoder public DieCup(int nDice) { … }
Opretter en ny instans af en klasse KLASSE: DieCup public DieCup(int nDice) { } KLASSE: TestDriver DieCup c1 = new DieCup(2);

17 METODEKALD Metoder d1.roll(); sum = d1.getEyes() + d2.getEyes(); this.
Afvikler indholdet af en metode i et bestemt objekt HUSK PARENTESER! d1.roll(); sum = d1.getEyes() + d2.getEyes(); ARGUMENT VARIABELNAVN PÅ OBJEKTET METODENAVN this. setLocation(200, 200); ARGUMENT QUIZ Hvad er objektet her?

18 vel.horizontalFlip(); d6.getEyes();
QUIZ Hvilket metodekald er korrekt? d1.roll; kochFlake(3, 150); roll(this); verticalFlip(vel); new this.Die(); Hvilket af disse er ikke et metodekald? super(600, 400, 1); move(); this.move(); vel.horizontalFlip(); d6.getEyes();

19 CamelCase dromedaryCase Navngivning KLASSER VARIABLER METODER
DieCup KLASSER SkilledTurtle act() dromedaryCase c1 eyes roll() VARIABLER METODER undtagen konstruktører Die() Ball()

20 OVERSIGT UML-diagrammer Et UML-klassediagram er en KLASSE liste af
FELTVARIABLER over feltvariabler og metoder i en klasse liste af METODER Ball Vector vel Ball(int xVel, int yVel) void move() boolean hitTopWall() DieCup ArrayList<Die> dice DieCup(int nDice) void roll() int getEyes()

21 OVERSIGT UML-diagrammer Opbevar Die-objekterne i en feltvariabel
af typen ArrayList<Die> Et UML-klassediagram er en OVERSIGT over feltvariabler og metoder i en klasse EN-TIL-MANGE-RELATION * Die int eyes void roll() int getEyes() DieCup DieCup(int nDice) void roll() int getEyes()

22 QUIZ Implementer følgende UML-diagram (lav metoder og feltvariabler)
Brewery String name ArrayList<Beer> beers Brewery(String n) void add(Beer b) Beer biggestBeer()

23 4 2 int VÆRDI INSTANS Tildeling c1 = new DieCup(2);
En tildeling overfører en int (et objekt) VÆRDI INSTANS eller en eyes 4 2 til en variabel c1 = new DieCup(2); c1 c1 = new DieCup(3); eyes = r.nextInt(6) + 1; i++;

24 int eyes = r.nextInt(6) + 1; String eyesOfDie = "" + d1.getEyes();
QUIZ Hvilke af følgende tildelinger er ikke lovlige? int eyes = r.nextInt(6) + 1; String eyesOfDie = "" + d1.getEyes(); diagonal = (int) (50.0 * Math.sqrt(2)); String sum = (d1.getEyes() + d2.getEyes()); int x = -(26); x = x + 1; int eyes = r.nextInt(6)++; 1 2 3 4 5 6 7

25 BESLUTNING if-sætninger if (hitTopWall()) { … } else
En if-sætning træffer en if (hitTopWall()) { } else BESLUTNING hitTopWall() er true på baggrund af en betingelse (boolean) STØRRE END ELLER LIG MED if (eyes >= 3) … if (length == 200) … if (sum < n) … if (hitLeftWall() || hitRightWall()) hitTopWall() er false LIG MED MINDRE END DEN ENE ELLER BEGGE ER OPFYLDT

26 GENTAGER Løkker for (int i = 0; i < 5; i++) { … }
En løkke STOPBETINGELSE en række instruktioner while (!hitTopWall()) { } int i = 0; while (i < 5) { i++; } STOPBETINGELSE Hver gentagelse kaldes en iteration

27 Collections SAMLING En collection er en dice af et vilkårligt antal elementer af samme type ERKLÆRING INITIALISERING ArrayList<Die> dice = new ArrayList<Die>(); ELEMENTTYPE HUSK PARENTESER! ! HUSK AT IMPORTERE BIBLIOTEKET java.util.ArrayList

28 Collections SAMLING En collection er en af et vilkårligt antal elementer af samme type PAS PÅ! Typer som int, double og boolean angives ved henholdsvis Integer, Double og Boolean ArrayList<Integer> numbers = new ArrayList<Integer>(); ! HUSK AT IMPORTERE BIBLIOTEKET java.util.ArrayList

29 QUIZ Erklær og initialiser ArrayList-objekter med følgende typer elementer Vector int String ArrayList<Die>

30 INDIVIDUELLE ELEMENTER
Udvidet for-løkke En udvidet for-løkke gentager en række instruktioner FOR HVERT ELEMENT i en Collection ERKLÆRING AF INDIVIDUELLE ELEMENTER for (Die d : dice) { } COLLECTION-OBJEKT


Download ppt "KONCEPT Klasser og objekter En klasse beskriver et World ArrayList"

Lignende præsentationer


Annoncer fra Google