Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java."—  Präsentation transkript:

1 © Tenbusch 04.07.2013 Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java

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

3 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

4 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 5 Konzept

6 6

7 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

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

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

10 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

11 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 einem @Override –Tag versehen –Dadurch kann Funktionalität geändert, weggelassen oder hinzugefügt werden 11

12 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

13 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 14


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

Ähnliche Präsentationen


Google-Anzeigen