Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.

Slides:



Advertisements
Ähnliche Präsentationen
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Advertisements

Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
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.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
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 Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
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 Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
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 Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Praktische Optimierung
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 Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
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 Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
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 Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
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 Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
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.
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
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.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
 Präsentation transkript:

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise2 Kapitel 9: Konzept der objektorientierten Sichtweise Bisher: Prozedurale Programmierung betrachtet, weil es in der industriellen Praxis noch viele C-Programme gibt, die nicht auf C++ umgestellt sondern nur gewartet werden: - Umstellung wg. Programmgröße zu teuer und - Gefahr der Einführung von Programmierfehlern bei Umstellung ein Programmierer muss beide Seiten kennen Wesentliche Grundlagen des algorithmischen Programmierens (wie Konstruktionsprinzipien von Funktionen, Rekursionsprinzip) müssen bekannt sein, bevor fruchtbare Auseinandersetzung mit objektorientierten Konzepten von C++ möglich der Blick auf das Wesentliche wird so frei gemacht

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise3 Kapitel 9: Konzept der objektorientierten Sichtweise Probleme der prozeduralen Sichtweise #include using namespace std; void zeigeKonto(double stand) { cout << Kontostand: << stand << endl; } void zeigeAlter(int alter) { cout << Alter: << alter << endl; } int main() { double g = ;// Guthaben int a = 42;// Alter zeigeKonto(a); zeigeKonto(g); zeigeAlter(g); zeigeAlter(a); return 0; } Ausgabe: Kontostand: 42 Kontostand: Alter: 3129 Alter: 42 Beobachtung: - unzulässige Funktionen angewandt auf Daten semantischer Fehler - Daten sind ungeschützt: Trennung von Daten und Funktion

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise4 Kapitel 9: Konzept der objektorientierten Sichtweise Die objektorientierte Sichtweise natürliche Umgebung Pflanzen, Autos, Häuser, … (= Objekte der realen Welt) Objekt = Gegenstand, mit dem etwas geschieht oder geschehen soll (Duden) Gegenstand der Erkenntnis und Wahrnehmung, des Denken und Handelns (Brockhaus) reale Gegenstände, aber auch von Menschen gedachte Gebilde Modell = Ausschnitt aus realer Welt PKW Typ: Sportwagen Hersteller: Bugatti Farbe: Froschgrün Geschwindigkeit:245 km/h Modellbildung

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise5 Kapitel 9: Konzept der objektorientierten Sichtweise Anwendungsproblem: Modellierung Reduzierung auf das Wesentliche wesentlich im Sinne unserer Sicht auf die Dinge bei diesem Problem es gibt verschiedene Sichten auf dieselben Objekte! schon bei der Problemanalyse denken im Sinne von Objekten und ihren Eigenschaften und Beziehungen untereinander OOP: Formulierung eines Modells in Konzepten & Begriffen der realen Welt nicht in computertechnischen Konstrukten wie Haupt- und Unterprogramm

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise6 Kapitel 9: Konzept der objektorientierten Sichtweise Beispiel: Konten GirokontoSparkonto Kontonummer Inhaber Saldo HabenZinsSatz SollZinsSatz ÜberziehungsZinsSatz DispositionsKredit gemeinsame Attribute typisch für alle Ausprägungen der Klasse Girokonto typisch für alle Ausprägungen der Klasse Sparkonto

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise7 Kapitel 9: Konzept der objektorientierten Sichtweise ein Objekt ist eine Ausprägung / Instanz einer Klasse Kontonummer12345 InhaberHugo Hase Saldo HabenZinsSatz1.5 Kontonummer34321 InhaberMaria Kron Saldo HabenZinsSatz1.675 zwei Instanzen der Klasse Sparkonto auf den Konten lassen sich Operationen ausführen: anlegen, einzahlen, auszahlen, anzeigen, auflösen, … Methoden, die sich auf ein Objekt anwenden lassen Synonyme: Elementfunktionen, Klassenfunktionen engl.: methods, member functions

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise8 Kapitel 9: Konzept der objektorientierten Sichtweise Klasse = Beschreibung von Eigenschaften und Operationen Eine Klasse ist also die Beschreibung des Bauplans (Konstruktionsvorschrift) für konkrete (mit Werten belegte) Objekte Eine Klasse ist nicht das Objekt selbst Ein Objekt ist eine Instanz / Ausprägung einer Klasse Zusammenfassung von Daten / Eigenschaften und Operationen … … kennen wir bereits von den abstrakten Datentypen (ADT)! Zugriff auf Daten nur über Operationen der Klasse; man sagt auch: dem Objekt wird eine Nachricht geschickt: Objektname.Nachricht(Daten)

Rudolph: EINI (WS 2007/08) Kap. 9: Konzept der objektorientierten Sichtweise9 Kapitel 9: Konzept der objektorientierten Sichtweise Klasse: Beschreibung einer Menge von Objekten mit gemeinsamen Eigenschaften und Verhalten. Ist ein Datentyp! Objekt: Eine konkrete Ausprägung, eine Instanz, ein Exemplar der Klasse. Belegt Speicher! Besitzt Identität! Objekte tun etwas; sie werden als Handelnde aufgefasst! Methode / Klassenfunktion: Beschreibt das Verhalten eines Objektes. Kann als spezielle Nachricht an das Objekt aufgefasst werden.