Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objektorientierte Programmierung (OOP). Von Unterprogrammen zu Klassen Siehe Präsentation 01-unterprogramme-zu-klassen.

Ähnliche Präsentationen


Präsentation zum Thema: "Objektorientierte Programmierung (OOP). Von Unterprogrammen zu Klassen Siehe Präsentation 01-unterprogramme-zu-klassen."—  Präsentation transkript:

1 Objektorientierte Programmierung (OOP)

2 Von Unterprogrammen zu Klassen Siehe Präsentation 01-unterprogramme-zu-klassen

3 Hauptprogramm globale Variablen Prozeduren Anweisung_1; Anweisung_2;... Unterprogramm a lokale Variablen Unterprogramm b lokale Variablen Unterprogramm c lokale Variablen

4 Klasse Attribute Klassen Methode a lokale Variablen Methode b lokale Variablen Methode c lokale Variablen Eigenschaften Aktionen

5 Klassen und Objekte Eigenschaften Name: Haarfarbe: Alter: Aktionen laufen sitzen schlafen essen Eigenschaften Name: Sascha Müller Haarfarbe: blond Alter: 18 Aktionen laufen sitzen schlafen essen Klasse Abstrakte Beschreibung von Eigenschaften (Attributen) und Aktionen (Methoden). = Schablone Objekt Konkrete Instanz einer Klasse.

6 Gruppenarbeit Beispiel für Klassen Zeit: 30 Minuten

7 Von Unterprogrammen zu Klassen Siehe Präsentation 02-beispiele-klassen-objekte

8 Klassen und Objekte in Java Definition einer Klasse Erzeugung von Objekten Aufruf einer Methode eines Objektes public class { Attribute und Methoden} = new ();. (,..., );

9 Beispiel Klasse definieren, Objekte erzeugen public class TesteMensch { /** Startmethode der Klasse */ public static void main(String[] args) { Mensch patrick = new Mensch(); patrick.name="Patrick"; Mensch tim = new Mensch(); tim.name="Tim"; patrick.schlafen(); tim.sitzen(); } public class Mensch { String name; String haarfarbe; int alter; public void schlafen(){S.o.p(name+”schläft”);} public void sitzen(){S.o.p(name+”sitzt”);} }

10

11

12

13 Beispiel für eine Klasse und das Erzeugen eines Objektes public class Rechteck { float laenge; float breite; public float berechneF(){ float a = laenge * breite; return a; } } public class Test { public static void main(String[] arg) { Rechteck r1 = new Rechteck(); r1.laenge=10f; r1.breite=1f; Rechteck r2 = new Rechteck(); r2.laenge=5f; r2.breite=20f; float f1 = r1.berechneF(); float f2 = r2.berechneF(); S.o.p("Flächeninhalt r1:"+f1); S.o.p("Flächeninhalt r2:"+f2); } }

14 Konstruktoren public class Rechteck { float laenge; float breite; public Rechteck(float l1, float b1){ laenge=l1; breite=b1; } public Rechteck(float laenge1) { laenge=laenge1; } public Rechteck() {} public float berechneF(){ float a = laenge * breite; return a; } } Konstruktor Der Konstruktor ohne Parameter (Default- Konstruktor) ist immer definiert, falls sonst kein Konstruktor angegeben ist. public class Test { public static void main( String[] arg) { Rechteck r1 = new Rechteck(10f,1f); Rechteck r2 = new Rechteck(5f); r2.breite=20f; float f1 = r1.berechneF(); float f2 = r2.berechneF(); S.o.p("Flächeninhalt r1:"+f1); S.o.p("Flächeninhalt r2:"+f2); } }

15 Statische Attribute und der this-Operator public class Kreis{ static final float pi = f; float radius ; public Kreis (float radius) { this.radius=radius; } public Kreis() {} public float berechneF(){ float x = pi * radius * radius; return x; } } Statisches Attribut: Wird nur einmal für die Klasse (nicht für jedes Objekt) definiert. Konflikt: lokale Variable und Attribut. this. verweist auf das Attribut. public class Test { public static void main(String[] arg) { Rechteck r1 = new Kreis(7f); float f1 = r1.berechneF(); S.o.p("Flächeninhalt r1:"+f1); S.o.p(„Wert von PI:"+Kreis.pi); } } Zugriff auf eine statische Variable.

16 Statische Atrribute Getter-/Setter-Methoden public class Kreis { static final float pi= f; float radius; public Kreis(float radius){ this.radius=radius; } public Kreis() {} public float getRadius() { return radius; } public void setRadius(float r1) { radius=r1; } public float berechneF(){ float a = pi * radius * radius; return a; } } Getter- und Setter- Methoden für den Zugriff auf Attribute. (Attribute direkt anzusprechen gilt als verpöhnt) public class Test { public static void main(String[] arg) { Rechteck r1 = new Kreis(); f1.setRadius(7f); float f1 = r1.berechneF(); S.o.p("Flächeninhalt r1:"+f1); } }

17 Getter-/Setter-Methoden in Netbeans automatisch erzeugen lassen

18 Objekte „printable“ machen: toString() public class Kreis { … public String toString() { return "Kreis("+radius+")"; } } public class Test { public static void main(String[] arg) { Rechteck r1 = new Kreis(); f1.setRadius(7f); float f1 = r1.berechneF(); S.o.p("Flächeninhalt von "+r1+ " ist "+f1); } } Ohne toString() Mit toString()

19 UML-Diagramm

20 Aufruf des Konstruktors

21 Klasse Bruch

22 Vererbung: Attribute werden vererbt

23 Vererbung: Methoden werden vererbt

24 Überschreiben von Methoden

25

26

27

28 Prinzipien OOP

29


Herunterladen ppt "Objektorientierte Programmierung (OOP). Von Unterprogrammen zu Klassen Siehe Präsentation 01-unterprogramme-zu-klassen."

Ähnliche Präsentationen


Google-Anzeigen