Presentation laddar. Vänta.

Presentation laddar. Vänta.

Objektinteraktion - Skapa objekt som samarbetar Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.

Liknande presentationer


En presentation över ämnet: "Objektinteraktion - Skapa objekt som samarbetar Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling."— Presentationens avskrift:

1 Objektinteraktion - Skapa objekt som samarbetar Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar Telefon Andreas Hedrén Föreläsning 3, Kapitel 3

2 Idag Hur objekt interagerar med andra objekt Hur objekt består av andra objekt Diskutera typer och primitiva typer

3 En digitalklocka

4 Abstraktion och modularisering Abstraktion är förmågan att kunna bortse från detaljer för att fokusera på ett problem på högre nivå. Modularisering är processen att dela upp en helhet till väl avgränsade delar som kan byggas och testas var för dig och samarbeta på ett bra sätt.

5 Modularisera klockans display En display med fyra siffror? Eller två displayer med två siffror?

6 Klassen NumberDisplay public class NumberDisplay { private int limit; private int value; //Konstruktor och //metoder utelämnade }

7 Klassen ClockDisplay public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; //Konstruktor och //metoder utelämnade }

8 Objektdiagram

9 Klassdiagram

10 Primitiva typer vs. objekt 32 Objekt Primitiv typ SomeObject obj; int i;

11 Primitiva typer vs. objekt 32 SomeObject a; int a; SomeObject b; 32 int b; b = a;

12 Källkod: NumberDisplay public NumberDisplay(int rollOverLimit) { limit = rollOverLimit; value = 0; } public void increment() { value = (value + 1) % limit; }

13 Källkod: NumberDisplay public String getDisplayValue() { if(value < 10) return "0" + value; else return "" + value; }

14 Objekt som skapar objekt public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; private String displayString; public ClockDisplay() { hours = new NumberDisplay(24); minutes = new NumberDisplay(60); updateDisplay(); }

15 Metodanrop public void timeTick() { minutes.increment(); if(minutes.getValue() == 0) { //Det slog just över hours.increment(); } updateDisplay(); }

16 Intern metod /** * Uppdatera den interna stängen som * representerar displayen */ private void updateDisplay() { displayString = hours.getDisplayValue() + ":" + minutes.getDisplayValue(); }

17 ClockDisplay objektdiagram

18 Objekt som skapar objekt hours = new NumberDisplay(24); public NumberDisplay(int rollOverLimit); I klassen ClockDisplay: I klassen NumberDisplay: formell parameter egentlig parameter

19 Metodanrop Internt metodanrop updateDisplay(); Externt metodanrop minutes.increment(); //Generellt objekt.metodNamn(parametrar);

20 Frågor att ställa sig efter föreläsningen Vad är det egentligen som skiljer mellan typer från primitiva typer? Vilka olika primitiva typer finns det? Hur stora eller hur små värden kan lagras i den primitiva typen int ?


Ladda ner ppt "Objektinteraktion - Skapa objekt som samarbetar Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling."

Liknande presentationer


Google-annonser