Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.

Lignende præsentationer


Præsentationer af emnet: "Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter."— Præsentationens transcript:

1 Klasser og objekter – grundbegreber

2  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter

3  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.3 Tilstand og opførsel Tilstand –ethvert objekt har sin egen tilstand Opførsel –objekters opførsel er defineret ved et sæt metoder –udførelse af en metode kan ændre et objekts tilstand –en metode kan have parametre; ved kald af metoden leveres et passende antal argumenter

4  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.4 Klasse for begrebet person public class Person { private String navn; private int alder; // Opret person med navn n og alder 0 public Person(String n) {... } // Opret en person med navn n og alder a public Person(String n, int a) {... } // Personen bliver et år ældre public void foedselsdag() {... } // Returnerer om personen er teenager public boolean teenager() {... } } Tilstand Opførsel

5  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.5 Person-objekter Bruce 51 Paul 59 Michael 41 Tilstand –ethvert objekt har sin egen tilstand Opførsel –objekters opførsel er defineret ved et sæt metoder –udførelse af en metode kan ændre et objekts tilstand –en metode kan have parametre; ved kald af metoden leveres et passende antal argumenter

6  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.6 Tilstand Attribut (variabel) –type –værdi Simpel type –int, boolean,... –42, true Klassebaseret type –String, Person,... –”Bruce”, { ”Bruce”, 42 } navn ”Bruce” alder 51 public class Person { private String navn; private int alder;... } objekt-reference

7  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.7 Opførsel Metoder –konstruktør ingen returtype samme navn som klassen –get-metode (funktion) aflæser (del af) objektets tilstand –set-metode (procedure) opdaterer (del af) objektets tilstand –returtype specificerer hvilken type værdi der returneres (void  set- metode) –parametre type og navn –overloading flere metoder med samme navn public class Person {... // Opret en person med navn n // og alder 0 public Person(String n) {... } // Opret en person med navn n // og alder a public Person(String n, int a) {... } // Personen bliver et år ældre public void foedselsdag() {... } // Returnerer om personen // er teenager public boolean teenager() {... } }

8  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.8 Testprogram public class Driver { public static void test() { Person bs, pm, mc; bs = new Person( "Bruce Springsteen", 51 ); pm = new Person( "Paul McCartney ", 59 ); mc = new Person( "Michael Caspersen", 41 ); bs.foedselsdag(); System.out.println( bs.alder() ); System.out.println( pm.navn() ); System.out.println( mc.teenager() ); System.out.println( mc ); }

9  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.9 Afskærmning Attributter –objektets indkapslede tilstand –erklæres private –kan kun tilgås fra klassens egne metoder Metoder –objektets facade (også kaldet grænseflade) til omverdenen –erklæres public –kan aktiveres fra andre klasser public class Person { private String navn; private int alder; // Opret en person med navn n // og alder 0 public Person(String n) {... } // Opret en person med navn n // og alder a public Person(String n, int a) {... } // Personen bliver et år ældre public void foedselsdag() {... } // Returnerer om personen // er teenager public boolean teenager() {... } }

10  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.10 toString() toString –en metode der er arvet fra Object –god at have til test-formål –lav den selv (ellers...) –’+’ betegner (også) konkatenation af strenge –’\n’ betegner et linieskift public class Person {... // Returnerer en String- // repræsentation af personens // tilstand public String toString() { return ”Navn: ” + navn + ”\n” + ”Alder:” + alder; }

11  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.11 Object TurtlePersonString SkilledTurtle ArchitectTurtleIngeniørTurtle Klassehierarki i Java –et objektorienteret program består af en samling af klasser –klasser organiseres i et klassifikationshierarki –den mest generelle klasse er klassen Object –enhver klasse (bortset fra Object) er subklasse af en klasse –en klasse definerer en type, og en subklasse definerer en subtype –en objektreferencer kan refererer til et subtypeobjekt Turtle t = new ArchitectTurtle(); t.turn(90); // ok t.church(); // ej ok!

12  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.12 Objektinteraktion metode 2 metode 4 metode 1 metode 3 metode 2 metode 4 metode 1 metode 3 metode 2 metode 4 metode 1 metode 3


Download ppt "Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter."

Lignende præsentationer


Annoncer fra Google