Objektorientiertes Programmieren

Slides:



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

DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Ein Beispiel in Java.
Konzepte objektorientierter Systeme
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
Erweiterte Zuweisungskompatibilität
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,
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 5 Sitzung 5: Polymorphismus.
Einführung in die OOP in Java
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
UML Begleitdokumentation des Projekts
DIE TIERE.
Objektorientiertes Programmieren
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
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
1.3 Klassen und Beziehungen
1.3 Klassen und Beziehungen
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
2. Zustandsorientiertes Modellieren 2.4 Datenkapselung
Objektorientiertes Konstruieren
Optimale Ursprungsgerade
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Objektorientierte Modellierung mit UML
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
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-Kurs - 9. Übung Besprechung der Hausaufgabe
Plan der Stunde Bekanntschaft mit dem Thema „Haustiere“
C++ FÜR cOMPUTERSPIELENTWICKLER
, 1 / Javakurs 2012 – Objektorientierung Objektorientierte Programmierung I This work is licensed under the Creative Commons Attribution-ShareAlike 3.0.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Klassenvariable.
Konstruktoren.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Titel: Quelle: Übungsart: Titel: Quelle: Textverständnis
Titel: Quelle: Übungsart: Titel: Quelle: Textverständnis
Neue sächsische Lehrpläne
Ein schematischer Kirschbaum in Java
Einführung in die Programmierung mit Java
Die Struktur einer Java-Klasse
Grundkurs Informatik 11-13
November 18 Informatik Kurse
Programmierung und Vererbung in Java
OO-Programmierung & Vererbung
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
2. Vererbung und Kapselung
9. Vererbung und Polymorphie
Implementieren von Klassen
Grundkurs Informatik 11-13
Objektorientierte Programmierung
Juli 19 Informatik Kurse
 Präsentation transkript:

Objektorientiertes Programmieren Autor : Wolfgang Zimmer 13.11.2018

Was ist eine Klasse? Ein Lexikon dient i.a. zur Erläuterung von Begriffen: Stichwort Katze   13.11.2018

Lexikoneintrag: Eine Katze ist ein Raubtier mit - starken Reißzähnen - scharfen Krallen, die zum Fangen von Mäusen dienen - dem Mut sich auch an Vögel heranzuwagen - einer Aversion gegen Hunde - einem guten Klettervermögen - usw. .. 13.11.2018

drei Fragen Damit haben wir bereits eine „einigermaßen“ klare Vorstellung von einer Katze. Wir können jetzt drei Fragen beantworten :   13.11.2018

Was ist eine Katze? Was hat eine Katze? Was macht eine Katze? 13.11.2018

der (Super-) Klasse Was ist eine Katze ?  Ein Raubtier In Java: eine (Unter-)Klasse der (Super-) Klasse Raubtier 13.11.2018

Was hat eine Katze ?  Starke Reißzähne Scharfe Krallen Mut Aversion gegen Hunde Klettervermögen Alter .................... In Java: Attribute 13.11.2018

Was macht eine Katze ? Sie fängt Mäuse Sie wagt sich an Vögel heran Sie kämpft mit Hunden Sie klettert auf Bäume Sie altert .................. In Java: Methoden 13.11.2018

Was hat..... Was macht...... in einer Klasse unter In Java bringen wir die Antworten auf die drei Fragen Was ist.... Was hat..... Was macht...... in einer Klasse unter 13.11.2018

für konstruierbare reale Objekte Eine Klasse ist also ein abstrakter Bauplan für konstruierbare reale Objekte 13.11.2018

Für diese Diagramme hat sich ein weltweiter Standard In beschreibenden Texten geht der Überblick über Details schnell verloren. Daher stellen wir die Antworten auf die drei Fragen zunächst in einem Diagramm zusammen. Für diese Diagramme hat sich ein weltweiter Standard   UML (Unified Modeling Language) entwickelt: 13.11.2018

In der oberen Zelle steht der Klassenname Katze Das UML-Diagramm besteht aus drei Zellen : In der oberen Zelle steht der Klassenname Katze in fetter Schrift In der mittleren Zelle befinden sich die Antworten auf die Frage Was hat die Katze?   In der unteren Zelle finden wir die Antworten Was macht die Katze? 13.11.2018

Um die Antwort auf die Frage Was ist eine Katze? darzustellen, zeichnen wir einen durchgezogenen Pfeil zur (verkürzten) Darstellung der Klasse „Raubtier“ Raubtier 13.11.2018

Katze UML-Diagramm Raubtier der Klasse Katze «constructor» + zähne: int + krallen: int + tatzen: int - alter: int + länge: double «constructor» + Katze(int, int, int, int, double) «method» + fangen(Maus): Maus + heranwagen(Vogel): Vogel + kämpfen(Hund): Hund + klettern(Baum) + miauen( ) 13.11.2018

- private Attribute / Methoden Java unterscheidet + öffentliche Attribute / Methoden ( public ) - private Attribute / Methoden ( private ) 13.11.2018

Konstruktoren ist, kann man ein konkretes Objekt Mit dem Konstruktor, der unter dem Stichwort «constructor» aufgeführt ist, kann man ein konkretes Objekt der Klasse Katze erschaffen: Katze minka = new Katze(16,5,4,2,38); 13.11.2018

Katze minka = new Katze(16,5,4,2,38); Katze pascha = 16 Zähne, 5 Krallen, 4 Tatzen , 2 Jahre, 38 cm Katze pascha = new Katze(16,5,4,3,34); 16 Zähne, 5 Krallen, 4 Tatzen , 3 Jahre, 34 cm 13.11.2018

HUND UML-Diagramm Raubtier der Klasse Hund «constructor» + zähne: int + krallen: int + pfoten: int - alter: int + länge: double «constructor» + Hund( int, int, int, int, double ) «method» + fressen(Futter) + beißen(Katze): Katze + bewachen(Haus) + bellen( ) 13.11.2018

Hund sunny = new Hund(24,5,4,5,61); Hund toby = 24 Zähne, 5 Krallen, 4 Tatzen , 5 Jahre, 61 cm Hund toby = new Hund(24,5,4,9,102); 24 Zähne, 5 Krallen, 4 Tatzen , 5 Jahre, 102 cm 13.11.2018

Der Aufruf von Methoden : sunny.bellen; minka.miauen; sunny.beißen(minka); minka.kämpfen(sunny); Sunny.beißen(minka).kämpfen(sunny); 13.11.2018

Die Werte von Feldern abfragen: int k_vorher = minka.krallen; sunny.beißen(minka).kämpfen(sunny); int k_nachher = minka.krallen; Der Wert k_nachher – k_vorher liefert die Anzahl der beim Kampf eingebüßten Krallen. 13.11.2018

Statische Attribute / Methoden In JAVA static Statische Attribute und Methoden sind in allen existierenden Objekten einer Klasse identisch ! Im UML-Diagramm werden sie unterstrichen ! 13.11.2018

UML-Diagramm der Klasse Hund mit Klassenattributen und Klassenmethoden Raubtier UML-Diagramm der Klasse Hund mit Klassenattributen und Klassenmethoden HUND + zähne: int + krallen: int + pfoten: int - alter: int + länge: double «constructor» + Hund( int, int, int, int, double ) «method» + fressen(Futter) + beißen(Katze): Katze + bewachen(Haus) + bellen( ) 13.11.2018

Hund sunny = new Hund(24,5,4,5,61); sunny Hund sunny = new Hund(24,5,4,5,61); sunny.fressen(Knochen) Dann fressen mit sunny alle Hunde Knochen. Mit sunny haben dann alle Hunde 4 Pfoten und kein Hund kann eine Pfote verlieren. 13.11.2018

Das war ein erster Einblick in Objektorientiertes Arbeiten 13.11.2018