Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
|
|
- Walther Steinmann
- vor 5 Jahren
- Abrufe
Transkript
1 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012
2 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Gestern Ausgabe des ersten Übungszettels: Abgabe Dienstag pünktlich 10:00 Uhr Briefkasten 89 Hat jeder einen Partner für die Abgabe?
3 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Gestern Ausgabe des ersten Übungszettels: Abgabe Dienstag pünktlich 10:00 Uhr Briefkasten 89 Hat jeder einen Partner für die Abgabe? Erinnerung: Schriftliche Abgabe Code zusätzlich per Code muss kompilieren sonst wird er nicht bewertet
4 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Gestern Ausgabe des ersten Übungszettels: Abgabe Dienstag pünktlich 10:00 Uhr Briefkasten 89 Hat jeder einen Partner für die Abgabe? Erinnerung: Schriftliche Abgabe Code zusätzlich per Code muss kompilieren sonst wird er nicht bewertet Für Nachzügler: an sebastian.westerheide@uni-muenster.de
5 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Erinnerung Eingliederung C++ C++: Imperative Programmiersprache Hybrider Ansatz: Prozedurale und objektorientierte Programmierung möglich
6 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Überblick über die ersten beiden Übungsstunden Letzte Woche: Auffrischung zur prozeduralen Programmierung in C++ Heute: Auffrischung zur objektorientierten Programmierung in C++
7 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Überblick über die ersten beiden Übungsstunden Letzte Woche: Auffrischung zur prozeduralen Programmierung in C++ Heute: Grundlegende Syntax Basisdatentypen Wichtige Operatoren Kontrollstrukturen Prozeduren Wertparameter vs. Referenzparameter Pointer und Referenzen Auffrischung zur objektorientierten Programmierung in C++
8 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Überblick über die ersten beiden Übungsstunden Letzte Woche: Auffrischung zur prozeduralen Programmierung in C++ Heute: Auffrischung zur objektorientierten Programmierung in C++
9 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Überblick über die ersten beiden Übungsstunden Letzte Woche: Auffrischung zur prozeduralen Programmierung in C++ Heute: Auffrischung zur objektorientierten Programmierung in C++ Motivation Klassen und Objekte Klassendesign Konstruktoren Datenkapselung Vererbung Virtuelle Methoden Abstrakte Methoden Abstrakte Klassen Interfaces
10 Motivation (1/3) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Prozedurale Programmierung: Aufbau der Programme aus Teilproblemen (Prozeduren) Es gibt Daten und Prozeduren
11 Motivation (1/3) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Prozedurale Programmierung: Aufbau der Programme aus Teilproblemen (Prozeduren) Es gibt Daten und Prozeduren Prozeduren: Lesen oder Verändern lokaler Daten Aufruf von Prozeduren in Abhängigkeit von Parametern Diese enthalten Daten die weiter verarbeitet werden können Rückgabe der bearbeiteten Daten an den Aufrufer
12 Motivation (1/3) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Prozedurale Programmierung: Aufbau der Programme aus Teilproblemen (Prozeduren) Es gibt Daten und Prozeduren Prozeduren: Lesen oder Verändern lokaler Daten Aufruf von Prozeduren in Abhängigkeit von Parametern Diese enthalten Daten die weiter verarbeitet werden können Rückgabe der bearbeiteten Daten an den Aufrufer Nachteil: Die Daten sind unabhängig von den Anweisungen Jede Anweisung kann gültige Daten lesen oder verändern Falls globale Daten verändert werden können die Folgen für das Programm nicht abgeschätzt werden Wie Daten und Prozeduren zusammenhängen steht nur in den Kommentaren
13 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Motivation (2/3) Beispiel 1 double kreis_umfang ( double r a d i u s ) ; double k r e i s _ f l a e c h e ( double r a d i u s ) ; 3 double rechteck_umfang ( double hoehe double b r e i t e ) ; double r e c h t e c k _ f l a e c h e ( double hoehe double b r e i t e ) ; i n t main ( ) { 9 double hoehe ; double b r e i t e ; 11 double r a d i u s ; } Daten und Prozeduren sind getrennt man könnte auch kreis_flaeche (hoehe) aufrufen
14 Motivation (3/3) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Objektorientierte Programmierung: Zusammenfassung von Daten die ein Objekt beschreiben und Prozeduren zum Ändern dieser Daten
15 Motivation (3/3) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Objektorientierte Programmierung: Zusammenfassung von Daten die ein Objekt beschreiben und Prozeduren zum Ändern dieser Daten Gegenstände der realen Welt werden abstrahiert um sie im Programm abzubilden
16 Motivation (3/3) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Objektorientierte Programmierung: Zusammenfassung von Daten die ein Objekt beschreiben und Prozeduren zum Ändern dieser Daten Gegenstände der realen Welt werden abstrahiert um sie im Programm abzubilden Es werden Klassen erstellt um Gruppen von Objekten zu beschreiben Objekte erstellt um einen Gegenstand aus der realen Wert abzubilden Nachrichten zwischen Objekten verschickt
17 Motivation (3/3) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Objektorientierte Programmierung: Zusammenfassung von Daten die ein Objekt beschreiben und Prozeduren zum Ändern dieser Daten Gegenstände der realen Welt werden abstrahiert um sie im Programm abzubilden Es werden Klassen erstellt um Gruppen von Objekten zu beschreiben Objekte erstellt um einen Gegenstand aus der realen Wert abzubilden Nachrichten zwischen Objekten verschickt Vorteile: Hilft bei der Strukturierung des Programms Reduziert mögliche Fehlerquellen Erleichtert die Wiederverwendung und Weiterentwicklung
18 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Klassen und Objekte Klassen beschreiben die Struktur von Objekten Objekte sind Instanzen einer Klasse Jede neue Klasse ist ein neuer Datentyp
19 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Klassen und Objekte Klassen beschreiben die Struktur von Objekten Objekte sind Instanzen einer Klasse Jede neue Klasse ist ein neuer Datentyp Klassen haben Eigenschaften (Attribute / Member-variables) Attribute beschreiben einen Gegenstand Jede Instanz einer Klasse besitzt die gleichen Eigenschaften Jedes Objekt hat aber bestimmte Attributwerte die das Objekt von anderen Objekten unterscheidet Attribute werden in C++ durch Variablen von einem bestimmten Datentyp dargestellt Methoden (Member-functions)
20 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Klassen und Objekte Klassen beschreiben die Struktur von Objekten Objekte sind Instanzen einer Klasse Jede neue Klasse ist ein neuer Datentyp Klassen haben Eigenschaften (Attribute / Member-variables) Methoden (Member-functions) Methoden können die Eigenschaft eines Objekts verändern Objekte teilen Informationen über sich selbst durch Methoden mit Objekte nutzen Methoden um mit anderen Objekten zu kommunizieren
21 Klassendesign MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Klassen entsprechen Substantiven in einer Problembeschreibung Ein Rechteck hat ein Breite b und eine Höhe h Daten in einer Klasse beschreiben Eigenschaften / Attribute Methoden in einer Klasse ändern Attribute / Daten oder geben einem darauf Zugriff
22 Klassendesign MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Klassen entsprechen Substantiven in einer Problembeschreibung Daten in einer Klasse beschreiben Eigenschaften / Attribute Ein Rechteck hat ein Breite b und eine Höhe h Methoden in einer Klasse ändern Attribute / Daten oder geben einem darauf Zugriff
23 Klassendesign MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Klassen entsprechen Substantiven in einer Problembeschreibung Daten in einer Klasse beschreiben Eigenschaften / Attribute Methoden in einer Klasse ändern Attribute / Daten oder geben einem darauf Zugriff Der Flächeninhalt des Rechtecks ist A = b h Der Umfang des Rechtecks ist U = 2 (b + h)
24 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Beispiel Klassendeklaration // K l a s s e n d e k l a r a t i o n 2 c l a s s Rechteck { 4 // Daten des Rechtecks double hoehe ; 6 double b r e i t e ; 8 p u b l i c : // K o n s t r u k t o r 10 Rechteck ( double h double b ) : hoehe ( h ) b r e i t e ( b ) { } 12 // Berechnungen double umfang ( ) ; 14 double f l a e c h e ( ) ; } ;
25 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Beispiel Implementierung 1 // Implementierung double Rechteck : : umfang ( ) 3 { r e t u r n 2 ( hoehe+ b r e i t e ) ; 5 } 7 double Rechteck : : f l a e c h e ( ) { 9 r e t u r n hoehe b r e i t e ; }
26 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Beispiel Hauptprogramm // K l a s s e n d e k l a r a t i o n und Implementierung laden 2 # i n c l u d e " 02 _Rechteck. hh " # i n c l u d e " 02 _Rechteck. cc " 4 # i n c l u d e < iostream > 6 i n t main ( ) 8 { // Ein Objekt vom Typ Rechteck i n s t a n z i i e r e n 10 Rechteck r ( ) ; std : : cout < < r. f l a e c h e ( ) < < std : : endl ; 12 }
27 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Beispiel Insgesamt # include < iostream > 2 // K l a s s e n d e k l a r a t i o n 4 c l a s s Rechteck { 6 // Daten des Rechtecks double hoehe ; 8 double b r e i t e ; public : 10 // K o n s t r u k t o r Rechteck ( double h double b ) : hoehe (h) b r e i t e (b) { } 12 // Berechnungen double umfang ( ) ; 14 double f l a e c h e ( ) ; } ; 16 i n t main ( ) 18 { // Ein Objekt vom Typ Rechteck i n s t a n z i i e r e n 20 Rechteck r ( ) ; std : : cout < < r. f l a e c h e ( ) < < std : : endl ; 22 } 24 // Implementierung double Rechteck : : umfang ( ) 26 { return 2 ( hoehe+ b r e i t e ) ; 28 } double Rechteck : : f l a e c h e ( ) 30 { return hoehe b r e i t e ; 32 }
28 Konstruktoren MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Konstruktoren erzeugen eine neue Instanz einer Klasse Spezielle Methoden die der Initialisierung der Klasse dienen
29 Konstruktoren MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Konstruktoren erzeugen eine neue Instanz einer Klasse Spezielle Methoden die der Initialisierung der Klasse dienen Sie bestehen aus drei Teilen: Methodenkopf Initialisierung der Variablen Methodenrumpf // D e f a u l t K o n s t r u k t o r 2 Rechteck ( ) : hoehe ( 1. 0 ) b r e i t e ( 2. 0 ) { } // S p e z i e l l e r K o n s t r u k t o r 4 Rechteck ( double h double b ) : hoehe ( h ) breite ( b ) { }
30 Konstruktoren MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Konstruktoren erzeugen eine neue Instanz einer Klasse Spezielle Methoden die der Initialisierung der Klasse dienen Sie bestehen aus drei Teilen: Methodenkopf Initialisierung der Variablen Methodenrumpf // D e f a u l t K o n s t r u k t o r 2 Rechteck ( ) : hoehe ( 1. 0 ) b r e i t e ( 2. 0 ) { } // S p e z i e l l e r K o n s t r u k t o r 4 Rechteck ( double h double b ) : hoehe ( h ) breite ( b ) { } Beim Erzeugen einer Instanz wird der Konstruktor aufgerufen: // D e f a u l t K o n s t r u k t o r 2 Rechteck r ; // S p e z i e l l e r K o n s t r u k t o r 4 Rechteck r ( ) ;
31 Datenkapselung MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Die Daten und Methoden eines Objekts werden zusammengefasst Die Daten werden vor einem Zugriff von außen geschützt Attributwerte sind von außen nicht sichtbar Daten können nur über bestimmte Schnittstellen verändert oder gelesen werden Die Implementierung von Methoden ist nach außen hin nicht sichtbar Der Nutzer der Methode kennt nur die Eingangs- und Ausgangswerte der Methode
32 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 // K l a s s e n d e k l a r a t i o n 2 c l a s s Rechteck { 4 // Daten des Rechtecks double hoehe ; 6 double b r e i t e ; 8 p u b l i c : // K o n s t r u k t o r 10 Rechteck ( double h double b ) : hoehe ( h ) b r e i t e ( b ) { } 12 // Berechnungen double umfang ( ) ; 14 double f l a e c h e ( ) ; } ;
33 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 // K l a s s e n d e k l a r a t i o n 2 c l a s s Rechteck { 4 // Daten des Rechtecks double hoehe ; 6 double b r e i t e ; 8 p u b l i c : // K o n s t r u k t o r 10 Rechteck ( double h double b ) : hoehe ( h ) b r e i t e ( b ) { } 12 // Berechnungen double umfang ( ) ; 14 double f l a e c h e ( ) ; } ; 1 // Daten des Rechtecks double hoehe ; 3 double b r e i t e ; private : Der Zugriff auf Methoden oder Attribute ist von außen her nicht möglich Ein Zugriff von außen ist nicht zulässig Attribute einer Klasse werden meist mit private deklariert Standardmäßig sind alle Elemente einer Klasse privat
34 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 // K l a s s e n d e k l a r a t i o n 2 c l a s s Rechteck { 4 // Daten des Rechtecks double hoehe ; 6 double b r e i t e ; p u b l i c : 2 // K o n s t r u k t o r Rechteck ( double h double b ) ; 4 // Berechnungen double umfang ( ) ; 6 double f l a e c h e ( ) ; 8 p u b l i c : // K o n s t r u k t o r 10 Rechteck ( double h double b ) : hoehe ( h ) b r e i t e ( b ) { } 12 // Berechnungen double umfang ( ) ; 14 double f l a e c h e ( ) ; } ; public: Die Methoden und Attribute sind öffentlich zugänglich Objekte beliebiger Klassen können auf diese Methoden und Attribute zugreifen Methoden die Eigenschaften verändern sind meist public deklariert
35 Vererbung MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Vererbung dient dazu aufbauend auf existierenden Klassen neue zu schaffen
36 Vererbung MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Vererbung dient dazu aufbauend auf existierenden Klassen neue zu schaffen Eine neue Klasse ist dann eine Erweiterung der ursprünglichen Basisklasse d.h. eine Spezialisierung Die Spezialisierungen werden abgeleitete Klassen oder Unterklassen genannt
37 Vererbung MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Vererbung dient dazu aufbauend auf existierenden Klassen neue zu schaffen Eine neue Klasse ist dann eine Erweiterung der ursprünglichen Basisklasse d.h. eine Spezialisierung Die Spezialisierungen werden abgeleitete Klassen oder Unterklassen genannt Unterklassen erben Struktur und Verhalten ihrer Basisklasse Wiederverwendung der vorhandenen Methoden
38 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Beispiel Vererbung / 2 Klasse M i t g l i e d : R e p r a e s e n t i e r t das M i t g l i e d e i n e r Schule ; z. B. Hausmeister Lehrer Schueler... 4 / c l a s s M i t g l i e d 6 { p r i v a t e : 8 std : : s t r i n g vorname ; // h i e r kommen dann noch die anderen Daten 10 p u b l i c : 12 // K o n s t r u k t o r M i t g l i e d ( std : : s t r i n g v ) : vorname ( v ) { } ; 14 // Lesen / Schreiben der Vornamens 16 std : : s t r i n g lesevorname ( ) ; void schreibevorname ( std : : s t r i n g v ) ; 18 } ;
39 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Beispiel Vererbung / 2 Klasse Schueler : E r w e i t e r t Klasse M i t g l i e d ; Z u s a e t z l i c h hat der Schueler die I n f o r m a t i o n i n welcher Klasse er i s t 4 / c l a s s Schueler : p u b l i c M i t g l i e d 6 { p r i v a t e : 8 i n t klasse ; // h i e r kommen dann noch die anderen Daten 10 p u b l i c : 12 // K o n s t r u k t o r Schueler ( std : : s t r i n g v i n t k ) : M i t g l i e d ( v ) klasse ( k ) { } ; 14 // Lesen / Schreiben der Klasse 16 i n t l e s e K l a s s e ( ) ; void s c h r e i b e K l a s s e ( i n t k ) ; 18 } ;
40 Virtuelle Methoden MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Methoden die von einer Unterklasse durch eine Methode gleicher Signatur überschrieben werden können Erst zur Laufzeit wird bestimmt welche Variante verwendet wird (dynamisches Binden)
41 Virtuelle Methoden MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Methoden die von einer Unterklasse durch eine Methode gleicher Signatur überschrieben werden können Erst zur Laufzeit wird bestimmt welche Variante verwendet wird (dynamisches Binden) Sofern vorhanden wird die Implementierung der Unterklasse verwendet Wenn eine Unterklasse eine virtuelle Methode einer Basisklasse nicht überschreibt wird die Methode der Basisklasse genutzt
42 Virtuelle Methoden MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Methoden die von einer Unterklasse durch eine Methode gleicher Signatur überschrieben werden können Erst zur Laufzeit wird bestimmt welche Variante verwendet wird (dynamisches Binden) Sofern vorhanden wird die Implementierung der Unterklasse verwendet Wenn eine Unterklasse eine virtuelle Methode einer Basisklasse nicht überschreibt wird die Methode der Basisklasse genutzt Klassen mit virtuellen Methoden werden als polymorphe Klassen bezeichnet
43 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Abstrakte Methoden Abstrakte Klassen Abstrakte Methoden (rein virtuelle Methoden) sind virtuelle Methoden die keine Implementierung besitzen
44 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Abstrakte Methoden Abstrakte Klassen Abstrakte Methoden (rein virtuelle Methoden) sind virtuelle Methoden die keine Implementierung besitzen Sie bestehen nur aus ihrer Deklaration in Form eines Prototyps z.b. virtual void pure_virtual () = 0; Die Implementierung erfolgt erst in den abgeleiteten Klassen weshalb eine Klasse mit abstrakten Methoden auch nicht direkt instanziiert werden kann
45 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Abstrakte Methoden Abstrakte Klassen Abstrakte Methoden (rein virtuelle Methoden) sind virtuelle Methoden die keine Implementierung besitzen Sie bestehen nur aus ihrer Deklaration in Form eines Prototyps z.b. virtual void pure_virtual () = 0; Die Implementierung erfolgt erst in den abgeleiteten Klassen weshalb eine Klasse mit abstrakten Methoden auch nicht direkt instanziiert werden kann Enthält eine Klasse eine abstrakte Methode wird sie als abstrakte Klasse bezeichnet
46 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Abstrakte Methoden Abstrakte Klassen Abstrakte Methoden (rein virtuelle Methoden) sind virtuelle Methoden die keine Implementierung besitzen Sie bestehen nur aus ihrer Deklaration in Form eines Prototyps z.b. virtual void pure_virtual () = 0; Die Implementierung erfolgt erst in den abgeleiteten Klassen weshalb eine Klasse mit abstrakten Methoden auch nicht direkt instanziiert werden kann Enthält eine Klasse eine abstrakte Methode wird sie als abstrakte Klasse bezeichnet Hinweis: Die Abstraktheit einer Methode darf sich über mehrere Ebenen der Vererbungshierarchie erstrecken
47 Interfaces MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Die Gemeinsamkeiten von Klassen sollen häufig von einer Schnittstelle abgebildet werden Die verschiedenen Klassen können verschiedene Implementierungen der Schnittstelle verwenden
48 Interfaces MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Die Gemeinsamkeiten von Klassen sollen häufig von einer Schnittstelle abgebildet werden Die verschiedenen Klassen können verschiedene Implementierungen der Schnittstelle verwenden Solche Schnittstellen werden auch Interfaces genannt
49 Interfaces MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Die Gemeinsamkeiten von Klassen sollen häufig von einer Schnittstelle abgebildet werden Die verschiedenen Klassen können verschiedene Implementierungen der Schnittstelle verwenden Solche Schnittstellen werden auch Interfaces genannt In C++ realisiert man ein Interface als abstrakte Klasse die ausschließlich aus abstrakten Methoden besteht
50 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen SS /22 Beispiel Interfaces c l a s s G e o m e t r i e O b j e k t I n t e r f a c e { 2 public : v i r t u a l double umfang ( ) = 0; 4 v i r t u a l double f l a e c h e ( ) = 0; } ; 6 c l a s s K r e i s : G e o m e t r i e O b j e k t I n t e r f a c e { 8 double radius ; v i r t u a l double umfang ( ) { return 2 M_PI radius ; } v i r t u a l double flaeche ( ) { return M_PI radius radius ; } 12 } ; 14 c l a s s Rechteck : G e o m e t r i e O b j e k t I n t e r f a c e { double hoehe ; double breite ; v i r t u a l double umfang ( ) { return 2 hoehe breite ; } 18 v i r t u a l double flaeche ( ) { return hoehe breite ; } } ; 20 void datenausgeben ( G e o m e t r i e O b j e k t I n t e r f a c e& geom ) { 22 std : : cout < < "Umfang = " < < geom. umfang ( ) < < " Flaeche = " < < geom. f l a e c h e ( ) < < std : : endl ; 24 } 26 i n t main ( ) { K r e i s k ( 3. 0 ) ; Rechteck r ( ) ; 28 datenausgeben ( k ) ; datenausgeben ( r ) ; }
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Wintersemester 2013/14 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Wintersemester 2013/14 Auffrischung zur Programmierung in C++ 1. Teil 17. Oktober 2013 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration
MehrObjektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
MehrRückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren
Rückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren class Vektor public: double k1, k2; // Deklaration der Klasse Vektor // Elementvariablen
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2
HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrMapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017
Mapra: C++ Teil 6 Felix Gruber, Sven Groß IGPM, RWTH Aachen 13. Juni 2017 Felix Gruber, Sven Groß (IGPM, RWTH Aachen) Mapra: C++ Teil 6 13. Juni 2017 1 / 22 Was bisher geschah Klassen I Attribute und Methoden
MehrPolymorphismus 179. Function.h. #include <string>
Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object
MehrThema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
MehrGrundlagen Polymorphismus Eigenschaften virtueller Klassen Mehrfachvererbung bei ROOT. Mehrfache Vererbung. Daniel Beneckenstein. 21.
Mehrfache Vererbung Daniel Beneckenstein 21. August 2006 Mehrfache Vererbung Ableitung einer Klasse von beliebig vielen Basisklassen: class A {... }; class B {... }; class C {... }; class D: public A,
MehrVererbung und Polymorphie
page1 Vererbung und Polymorphie Florian Adamsky, B Sc florianadamsky@iemthmde http://florianadamskyit/ cbd So wareentwicklung im SS 2014 page2 Outline 1 Ein ührung 2 Vererbung Formen der Vererbung 3 Polymorphie
MehrC++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
MehrC++ Teil 9. Sven Groß. 17. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil Juni / 17
C++ Teil 9 Sven Groß 17. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 9 17. Juni 2016 1 / 17 Themen der letzten Vorlesung Objektorientierung und Klassen Attribute / Datenelemente Methoden / Elementfunktionen
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 2)
DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und
MehrPolymorphismus 44. Function.hpp. #include <string>
Polymorphismus 44 #include Function.hpp class Function { public: virtual ~Function() {}; virtual const std::string& get_name() const = 0; virtual double execute(double x) const = 0; }; // class
MehrVererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz
Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrJava für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrObjektorientierte Programmierung
C++ Objektorientierte Programmierung Erweiterung von selbstdefinierten Datentypen (struct) zu Klasse. Eine Klasse besteht dann aus - Attributen (Untertypen wie struct) und zusätzlich - aus Methoden (Funktionen
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrProgrammieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden
Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige
MehrDie verschiedenen Programmierparadigmen von C++ Software-Technik: Vom Programmierer zur erfolgreichen
Software-Technik: Vom Programmierer zur erfolgreichen 1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation des Quellcodes 4. Werte- und Referenzsemantik 5. Entwurf
Mehr11.3 Virtuelle Methoden
11.3 Virtuelle Methoden Überdeckte Methoden: Betrachten wir noch einmal unsere Klassen Employee und Manager. class Employee void print() const cout
MehrThema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
MehrC++ Teil 10. Sven Groß. 17. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Dez / 14
C++ Teil 10 Sven Groß IGPM, RWTH Aachen 17. Dez 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 10 17. Dez 2014 1 / 14 Themen der letzten Vorlesung Objektorientierung und Klassen Attribute / Datenelemente
MehrVorkurs Informatik: Erste Schritte der Programmierung mit C++
Vorkurs Informatik WS 14/15 Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Tag 3: Objektorientiere Programmierung 8. Oktober 2014 Vorkurs Informatik WS 14/15 > Einführung Agenda 1 Einführung
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 10. Vererbung und Polymorphie Vererbung und Polymorphie in C++ Seite 2 Klassen können von anderen Klassen
MehrVererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Objektorientierte Programmierung Ronja Düffel WS2018/19 09. Oktober 2018 Objektorientierte Programmierung Überblick 1 Was ist das? 2 Wie geht das? 3 Warum gibt es das?
MehrWissenschaftliches Rechnen
Institut für Numerische und Angewandte Mathematik 11.04.2012 FB Mathematik und Informatik der Universität Münster Prof. Dr. Christian Engwer, Dipl. Math. Dipl. Inf. Sebastian Westerheide Übung zur Vorlesung
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrAngewandte Mathematik in OOP WS 2011/12. Abschluss-Test
Angewandte Mathematik in OOP WS 2011/12 Abschluss-Test 012 6 5 4 5 6 Aufgabe 1 (9 Punkte 1 Punkt je Antwort) Bitte jeweils eine Antwort ankreuzen (je nach Fragestellung die richtige oder falsche): a.)
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung 2 Einordnung in den Softwareentwicklungsprozess Softwareentwicklung mit JAVA Planung Entwurf Programmierung Test/Evaluation/Pflege
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum
MehrDie abgeleiteten Klassen Kreis und Viereck erben die Elemente des Basisklasse und verfügen über zusätzliche Eigenschaften (Seitenlänge,
Kompaktkurs C++ Vererbung (inheritance) 1 Oft besitzen verschiedene Datentypen einen gemeinsamen Kern: Kreis und Viereck sind geometrische Figuren; sie haben eine Kantenzahl, eine Fläche, einen Umfang
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrC++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ziele Sie verstehen wie Polymorphismus
MehrC/C++ - Programmierung. Vererbung Seite 1 von 6. Eine einfache Klasse für eine Personenbeschreibung hat die folgende UML: CPerson.
Vererbung Seite 1 von 6 Eine einfache Klasse für eine Personenbeschreibung hat die folgende UML: CPerson char Nachname[30] char Vorname[30] CPerson() void setnachname() void setvorname() void getname()
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrKlassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object
Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen
MehrProf. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen
Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrGrundkurs C++ IDE Klassenhierarchien
Grundkurs C++ IDE Klassenhierarchien Martin Knopp 03.05.2017 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Knopp 03.05.2017 IDE Integrated Development Environment Wir empfehlen: Qt Creator (Bestandteil
MehrÜberblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
MehrPropädeutikum Programmierung in der Bioinformatik
Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen
MehrGrundkurs C++ IDE Klassenhierarchien
Grundkurs C++ IDE Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/35 GK C++: IDE, Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 IDE Integrated Development Environment
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
MehrEinführung in das Objektorientierte Programmieren mit C++
BEREICH DATENTECHNIK I CP 700 00 TH 03 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 7 7. Laufzeit-Polymorphie 7.1. Frühes und spätes Binden 7.2. Virtuelle Funktionen FG TECHNISCHE
MehrObjektorientierte Anwendungsentwicklung
Name, Vorname Matrikelnummer Klausur zur Vorlesung Objektorientierte Anwendungsentwicklung Krefeld, 16. März 2012 Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt. Die Aufgabenstellung
MehrInhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte
Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)
MehrProbeklausur. Musterlösung
Programmierkurs Probeklausur Dr. Steffen Müthing Abgabe 08. Februar 2019 IWR, Universität Heidelberg ipk-exercises:2018-ws-55-gc187ae0 Allgemeine Hinweise: Probeklausur Dieses Übungsblatt wird nicht bewertet.
MehrGrundkurs C++ IDE Klassenhierarchien
Grundkurs C++ IDE Klassenhierarchien Martin Gottwald und Stefan Röhrl 8 Mai 2019 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Gottwald und Stefan Röhrl 8 Mai 2019 IDE - Integrated Development Environment
MehrInformatik II Übung, Woche 17
Giuseppe Accaputo 28. April, 2016 1. Vererbung 2. Vorbesprechung Übung 8 Plan für heute 3. Erweiterung des Vorlesungsverzeichnis (VVZ) (Live-Programmierung) Informatik II (D-BAUG) Giuseppe Accaputo 2 Vererbung
MehrSkriptum Bauinformatik SS 2013 (Vorlesung III)
Skriptum Bauinformatik SS 2013 (Vorlesung III) Stand: 16.04.2013 Dr. Johannes Lange 2 Inhalt Grundlagen Programmierung... 2 Imperative Programmierung... 2 Objektorientierte Programmierung... 2 Objekte...
MehrJava Einführung Vererbung und Polymorphie. Kapitel 13
Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrErste Java-Programme (Java Wiederholung & Vererbung)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrTafelübung 07 Algorithmen und Datenstrukturen
Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte
MehrProgrammierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Einführung in C++ Teil II: Klassen, Objekte, Funktionen und Vererbung. Funktionen [Rückgabetyp] [Name] ([Parameter]) { } Wichtig: Funktionen
MehrJava Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017
Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ziele Sie wissen, was Vererbung
MehrProgrammieren 2 C++ Überblick
Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates
MehrZusammenfassung. Mit bjam und ein paar Zeilen in einem Jamroot oder Jamfile lässt sich das Kompilieren und Linken einfach automatisieren
Zusammenfassung Deklaration einer Klasse im Header-File /.h-file Header-Files mit #pragma once vor double inclusion schützen möglichst Vorwärts-Deklarationen verwenden statt include-files einzubinden mindestens
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 9. Klassen und Methoden Was sind Klassen? Seite 2 sprachliches Mittel von C++ um objektorientierte Programmierung
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrVererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1
Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object
Mehr14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch
Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine
Mehr11 Vererbung und Klassenhierarchie
11 Vererbung und Klassenhierarchie Bestandteile objektorientierter Programmierung: Bestehende Klassen können durch Spezialisierung und Erweiterung weiterentwickelt werden, ohne den Programmcode der alten
MehrKapitel 06. Klassen und Objekte. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 06 Klassen und Objekte Inhalt des 6. Kapitels Klassen und Objekte 6.1 Was ist eine Klasse? Definition Die Klasse String 6.2 Klassendefinition äußerer Teil innerer Teil - Datenfelder - Konstruktor
MehrC++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrEinstieg in die Informatik mit Java
1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition
Mehr