© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java.

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

der Universität Oldenburg
der Universität Oldenburg
Objektorientierte Programmierung
Konzepte objektorientierter Systeme
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Java Beans von Raoul Schneider.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Konstruktoren.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Programmieren mit JAVA
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
Abstrakter Datentyp in C++ I - Klasse -
Abstrakte Klassen DVG
C++ Vererbung und Polymorphie
Entwurfsmuster EDV Entwurfsmuster.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
Einführung in die Programmierung
Objektorientiertes Programmieren
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
ObjektOrientiertes Programmieren
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
EPROG Tutorium #5 Philipp Effenberger
Objektorientierung.
Objektorientierte Modellierung mit UML
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Objektorientierte Programmierung (OOP)
Objektorientierte (OO) Programmierung
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
Objektorientierte Programmierung Was ist das eigentlich ?
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Tutorium Software-Engineering SS14 Florian Manghofer.
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
1 Eine Einführung in die objektorientierte Programmierung.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Konstruktoren.
Objektorientierte Programmierung
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
OOP II.
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
November 18 Informatik Kurse
Programmierung und Vererbung in Java
Objektorientierte Programmierung und Vererbung
OO-Programmierung & Vererbung
Algorithmen und Programmierung III
2. Vererbung und Kapselung
Definition Felder Konstruktor Methoden Beispiel
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
Objektorientierte Programmierung
Vererbung in Java Von Jan und Eddi.
Grundkurs Informatik 11-13
Polymorphie Überschreiben
Objektorientierte Programmierung
Objektorientierte Programmierung
Juli 19 Informatik Kurse
 Präsentation transkript:

© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java

2  Hintergrund  Konzepte  Botschaften  Kapselung  Aufbau einer Klasse  Vererbung  Polymorphie  Überladen  Gegenüberstellung Objektorientierte Programmierung Inhalt

Hintergrund Ursprung des OOP-Paradigma liegt in den 70er Jahren Simula(1967) und Smalltalk sind die ersten OOP-Sprachen Aufgabe der Informatik ist es Probleme zu lösen. Dazu müssen die Strukturen des Problems abstrakt und formalisiert beschrieben werden. Prozedurale oder funktionsorientierte Sprachen benötigen eine starke Umwandlung der realen Struktur eines Problems in den Quellcode. Den Entwickler ging es vor allem um eine einfachere Modellierung der realen Probleme in Programmen. 3

Hintergrund - Vorteile wirklichkeitsgetreue Darstellung der Realität  Orientierung an der menschlichen Wahrnehmung  nähe zur natürlichen Sprache klare Zuständigkeiten zwischen den Klassen einfachere Wiederverwendung bessere Erweiterbar- & Skalierbarkeit bessere Wartbarkeit mächtige Diagrammarten (UML) CASE-Tools (computer-aided software engineering) Fazit: Besser? 4 Pascal C

5 Konzept

6

Konzept - Botschaften Jedes Objekt bringt seine Eigenschaften (Attribute) und seine Verhaltensweisen (Methoden) mit sich Die Eigenschaften können nur mit den Verhaltensweisen geändert werden Dazu wird dem Objekt eine Botschaft geschickt  Methodenaufruf ggf. mit Parametern 7

Konzept – (Daten-)Kapselung Finger weg von den Attributen Die Daten eines Objekts sind gekapselt, d.h. für den Benutzer nicht veränderbar  Stabilität, Fehleranfälligkeit Interna unbekannt - leichter austauschbar Starke Missbrauch durch Programmierer Bessere Übersichtlichkeit Zugriff nur über Zugriffsmethoden (Get und Set) private Color haarfarbe = Color.BLACK; 8 //GETTER public Color getHaarfarbe(){ return haarfarbe; } //SETTER public void getHaarfarbe(Color neu){ if(neu != Color.GREEN) haarfarbe = neu; }

Konzept – Aufbau einer Klasse public class Person{ //Attribute private Color haarfarbe; private float groesse; //Konstruktoren public Person(){ … } //Methoden public void schlafen(){…} 9

Konzept – Vererbung Möglichkeit Objekte von anderen Objekten abzuleiten –d.h. Eigenschaften und Verhaltensweisen zu vererben Beispiel: Basisklasse Auto gibt alle Eigenschaften und Verhaltensweisen an Cabrio(Unterklasse) weiter Klassen werden erweitert und damit spezialisiert Schlüsselwort extend – public class Cabrio extend Auto 10

Konzept – Polymorphie Nicht immer ist eine vererbte Verhaltensweise sinnvoll –Beispiel: kuppeln ist beim Auto eine sinnvolle Verhaltensweise, beim Automatikauto, welches von Auto abgeleitet wurde geschieht dies automatisch und braucht nicht beachtet werden Vererbte Methoden können überschrieben werden –werden mit –Tag versehen –Dadurch kann Funktionalität geändert, weggelassen oder hinzugefügt werden 11

Konzept – Überladen Methoden können mehrmals in unterschiedlichen Varianten angeboten werden, um Botschaften abzusetzen Methoden mit gleichem Methodennamen müssen sich über ihre Parameterliste unterscheiden public class DataArtist {... public void draw(String s) {... } public void draw(int i) {... } public void draw(double f) {... } public void draw(int i, double f) {... } 12

Gegenüberstellung OOP vs. Prozedurale Programmierung Objekte vereinen Eigenschaften und Verhaltensweisen Wiederverwendung: Klassen werden vererbt und Methoden ggf. überschieben Daten sind gekapselt Problemorientiert Daten von Prozeduren getrennt Prozeduren müssen kopiert, neue Datenstruktur angelegt und verändert werden Daten jederzeit änderbar Lösungsorientiert 13

14