Objektorientierte (OO) Programmierung

Slides:



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

Karel D. Robot Ein spielerischer Weg, um OOP mit Delphi zu lernen
Objektorientierung Auffassung der Software als eine Sammlung
Objektorientierte Programmierung
Konzepte objektorientierter Systeme
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Delphi-Schulung am Autor: Jörg Altegoer
Einführung in die Programmierung Zusammenfassung
10. Grundlagen imperativer Programmiersprachen
Unter- und Oberklassen: Beispiel
Warum Objektorientierung?
Kapitel 4 Datenstrukturen
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
On a Buzzword: Hierachical Structure David Parnas.
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
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.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Prüfkriterien für objektorientierte Systeme
Objektorientierte Programmierung
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
OO Analyse und Entwurf für Anwender
UML Begleitdokumentation des Projekts
Delphi Eine objektorientierte Programmiersprache © Beushausen 2000.
Karel D. Robot Ein spielerischer Weg, um OOP mit Delphi zu lernen
Objektorientierte Modellierung
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 12. Sitzung WS 02/03.
Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:
Grundkonzepte der objektorientierten Programmierung Teil 3
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 9: Abstraktion.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Konzept einer Programmiersprache!
Vom Geschäftsprozess zum Quellcode
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
EPROG Tutorium #4 Philipp Effenberger
EPROG Tutorium #6 Philipp Effenberger
MODULA-2.
Wenn alles so einfach wäre
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Objektorientierung.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Vorlesung Einführendes Beispiel-
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Einführendes Beispiel
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
The Programming Language Pascal
Sichtbarkeit einschränken
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
Objektorientierte Programmierung Was ist das eigentlich ?
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.
© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java.
Objektorientierte Programmierung
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Parametrisierte Prozeduren und Funktionen
OO-Programmierung & Vererbung
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
The Programming Language Pascal
 Präsentation transkript:

Objektorientierte (OO) Programmierung Einführung Einführung Objektorientierte (OO) Programmierung

Objektorientierte Softwareentwicklung Einführung Quellen: Objektorientierte Softwareentwicklung Von Bern Oestereich, Oldenburg Verlag ISBN 3-486-25573-8 System-Entwicklung in der Wirtschaftsinformatik Von R.Böhm & E.Fuchs, vdf Verlag ISBN 3-7281-2762-0

Sie kennen nach dem Kurs die Begriffe: Objektorientierung UML Klasse Einführung Ziele: Sie kennen nach dem Kurs die Begriffe: Objektorientierung UML Klasse Objekt Eigenschaft Methode Attribut Vererbung

Sie können nach dem Kurs im Delphi Klassen definieren Einführung Ziele: Sie können nach dem Kurs im Delphi Klassen definieren und Objekte einsetzen und verwenden.

Unstrukturierte Programmierung Einführung Unstrukturierte Programmierung 100 dim a 110 a = 45 120 a = a * 13 130 Gosub 400 140 if a < 9999 GOTO 120 … 400 a = a – 5 410 gosub 200 420 if a < 1200 goto 120 430 return Vertreter: Fortran, Cobol, Basic etc.

Unstrukturierte Programmierung Einführung Unstrukturierte Programmierung Vorteile: Schnelle „Resultate“ Nachteile: Unübersichtlich Fehleranfällig Schlecht wartbar Globale Variablen Code kann nicht wiederverwendet werden Sehr technisch

Strukturierte Programmierung Einführung Strukturierte Programmierung Procedure Schreibe(zahl:integer); Var i:integer; Begin for i := 1 to 10 do begin writeln(zahl*i); end; End; Schreibe(13); End. Vertreter: Pascal, Modula-2, C, etc.

Strukturierte Programmierung Einführung Strukturierte Programmierung Vorteile: Übersichtlich Lokale Variablen besser wartbar Vom Groben ins Detail (Prozeduren) Nachteile: Methoden und Notation nicht einheitlich Schlecht wiederverwendbarer Code Konzept Funktionen und Daten entspricht nicht der realen Welt

Abstammung der Programmiersprachen Einführung Abstammung der Programmiersprachen

OO Notation: Unified Modeling Language Einführung OO Notation: Unified Modeling Language

Ziele der Objektorientierung Einführung Ziele der Objektorientierung Erweiterbarkeit und Wiederverwendbarkeit Komplexe Systeme methodisch in kleinere Teilsysteme zerlegen, damit die Programmierung und Wartung möglich wird Gute Wartbarkeit der vorhandenen Programme Programmlösung als vereinfachtes Abbild der Realität Sicherheit

Vom Groben ins Detail, und zurück Einführung Vom Groben ins Detail, und zurück

Einführung Begriffe Klasse und Objekt

Einführung Klasse

Einführung Objekt

Einführung Klasse und Objekte

Einführung Klasse und Objekte

Objekte: gleich, aber nicht identisch Einführung Objekte: gleich, aber nicht identisch

Einführung Vererbung

Generalisierung & Spezialisierung Einführung Generalisierung & Spezialisierung

Generalisierung & Spezialisierung Einführung Generalisierung & Spezialisierung

Objektorientierte Programmierung Einführung Objektorientierte Programmierung Vorteile: Sicher durch Kapselung Flexibel und Erweiterbar durch Vererbung Nahe an der Realität durch System- und Objektsicht Nachteile: Hoher Planungsaufwand Es wird sehr viel Code generiert Nicht immer performant

Einführung Fahrzeuge, Autos, LKW Fahrzeug Auto LKW Bus

Abstrakte Klasse TFahrzeug Einführung Abstrakte Klasse TFahrzeug unit jheFahrzeug; interface type TFahrzeug = class(TObject) protected function berechneV:integer; virtual; abstract; public property v: integer read berechneV; procedure beschleunigen; virtual; abstract; procedure bremsen; virtual; abstract; end; // TFahrzeug implementation end.

Klasse TAuto; Interface (Schnittstelle) Einführung Klasse TAuto; Interface (Schnittstelle) unit jheAuto; interface uses jheFahrzeug; type TAuto = class(TFahrzeug) private Fv : integer; protected function berechneV:integer; override; public property v: integer read berechneV; procedure beschleunigen; override; procedure bremsen; override; end; // TAuto

Klasse TAuto; Implementation (Realisierung) Einführung Klasse TAuto; Implementation (Realisierung) … implementation procedure TAuto.bremsen; begin Fv := Fv - 5; end; procedure TAuto.beschleunigen; Fv := Fv + 5; function TAuto.berechneV:integer; result := Fv;