Objektorientierte Programmierung (OOP)

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Definition von Klassen in Java
Einführung in die Programmierung Zusammenfassung
Kapselung , toString , equals , Java API
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
der Universität Oldenburg
Objektorientierte Programmierung Definition von Klassen
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Polymorphie (Vielgestaltigkeit)
Imperative Programmierung Funktionen und Parameter
Einführung in die OOP in Java
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Klassen 02 - Klassen.
Einführung in die Programmierung Klassendefinition und Objekte
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Objektorientiertes Konstruieren
EPROG Tutorium #3 Philipp Effenberger
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Vererbung Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003 Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger,
Java Programme nur ein bisschen objektorientiert.
Objektorientierung in Java Java-Kurs LE 5.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Java-Kurs - 5. Übung Das Paradigma der Objektorientierung (OO)
Einführung in die Programmierung mit Java
Grundkurs Informatik 11-13
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Ein Referat von Sabrina Vissel, darleen paul und yannick fuchs
Definition Felder Konstruktor Methoden Beispiel
Implementieren von Klassen
Grundkurs Informatik 11-13
Polymorphie Überschreiben
 Präsentation transkript:

Objektorientierte Programmierung (OOP) Objektorientiertes Programmieren   Zur Zeit am meisten verwendentes Programmierparadigma (1980 populär geworden). Neuere Ansätze: SOA (Service Oriented Approach): Dienste werden über das Internet bereit gestellt und sind über eine standardisierte Schnittstelle aufrufbar. Grundlagen: Kapselung Vererbung Polymorphismus

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

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

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

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

Gruppenarbeit Beispiel für Klassen Zeit: 30 Minuten Aufgaben: + Die Würfelsumme größer als 4*n; + Solange würfeln, bis mindestens m 6en. + bis genau 6 Sechsen. + Soviele 1en wie 6en.

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

Klassen und Objekte in Java Definition einer Klasse Erzeugung von Objekten Aufruf einer Methode eines Objektes public class <Klassenname> { Attribute und Methoden} <Klassenname> <Objektname> = new <Klassenname>(); <Objektname>.<Methodenname>(<Parameter_1>,...,<Parameter_n>);

Beispiel Klasse definieren, Objekte erzeugen 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”);} } 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(); }

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); } }

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; } } 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); } } Konstruktor Der Konstruktor ohne Parameter (Default-Konstruktor) ist immer definiert, falls sonst kein Konstruktor angegeben ist.

Statische Attribute und der this-Operator public class Kreis{ static final float pi = 3.14127f; 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.

Statische Atrribute Getter-/Setter-Methoden public class Kreis { static final float pi=3.14127f; 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); } }

Getter-/Setter-Methoden in Netbeans automatisch erzeugen lassen

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()

UML-Diagramm

Aufruf des Konstruktors

Klasse Bruch

Vererbung: Attribute werden vererbt

Vererbung: Methoden werden vererbt

Überschreiben von Methoden

Prinzipien OOP