C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern
|
|
- Heiko Schreiber
- vor 8 Jahren
- Abrufe
Transkript
1 C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind
2 Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches Modell ab. Das Modell sollte maximal drei Ebenen besitzen. Einführung in die C++-Programmierung, Seite 2
3 Regeln Es werden alle öffentlichen Attribute und Methoden von der Basisklasse geerbt. Neue Attribute und Methoden können hinzufügt werden. Vorhandene Methoden können überlagert werden. Konstruktoren und Destruktoren werden nicht vererbt. Einführung in die C++-Programmierung, Seite 3
4 Beispiel Konto - kontonummer : string - pinnummer : string +abheben(float betrag) +einzahlen(float betrag) +eroeffnen +schliessen GiroKonto - dispo : float FestgeldKonto - laufzeit : int - zins : float Einführung in die C++-Programmierung, Seite 4
5 Basis- und Subklassen Basisklasse Fahrzeuge Subklasse Land Wasser Luft Schiene Motorisiert Unmotorisiert Unmoterisiert Motorisiert Flugzeug Zeppelin Heißluftballon Einführung in die C++-Programmierung, Seite 5
6 Erläuterung Die Subklasse (Unterklasse, abgeleitete Klasse) erbt von der Basisklasse alle öffentlichen Attribute und Methoden. beschreibt die speziellen Elemente einer Klasse. Die Basisklasse (Oberklasse) stellt ein Grundgerüst an Attribute und Methoden für eine bestimmte Kategorie von Klassen zur Verfügung. kann aber selber Subklasse einer anderen Basisklasse sein. Einführung in die C++-Programmierung, Seite 6
7 Generalisierung und Spezialisierung Spezialisierung Fahrzeuge Generalisierung Land Wasser Luft Schiene Motorisiert Unmotorisiert Unmoterisiert Motorisiert Flugzeug Zeppelin Heißluftballon Einführung in die C++-Programmierung, Seite 7
8 Hinweise Subklassen beschreiben Attribute und Methoden, die nur eine Klasse in einer bestimmten Kategorie von Klassen besitzt. Um so weiter man in der Hierarchie der Klassen nach unten geht, um so spezieller werden die Klassen. Basisklassen ermöglichen eine Zusammenfassung von gemeinsamen, allgemeinen Eigenschaften einer bestimmten Kategorie von Klassen. Um so weiter man in der Hierarchie der Klassen nach oben geht, um so unbestimmter sind die Klassen. Einführung in die C++-Programmierung, Seite 8
9 Basisklasse definieren class _CKonto{ protected: std::string kontonummer; std::string pinnummer; float kontostand; public: _CKonto(){}; _CKonto(std::string kontonr, std::string pin) { kontonummer = kontonr; pinnummer = pin; kontostand = 10.0; } // Methoden }; Einführung in die C++-Programmierung, Seite 9
10 Zugriffsrechte private: // Attribute Auf die Attribute kann nicht von außen zugegriffen werden. Die Subklasse kann auf diese Elemente nicht zugreifen. protected: // Attribute Nur die Subklasse sowie die Basisklasse kann auf die Elemente zugreifen. Für einen Zugriff von außen sind die Elemente gesperrt. public: // Methoden, Konstruktoren Die Methoden sind öffentlich zugänglich. Die Subklasse kann auf diese Methoden zugreifen. Einführung in die C++-Programmierung, Seite 10
11 Konstruktoren Der Standardkonstruktor sollte vorhanden sein. Es können allgemeine Konstruktoren definiert werden. Einführung in die C++-Programmierung, Seite 11
12 Subklasse definieren class _CGiroKonto : public _CKonto { private: int dispo; public: _CGiroKonto(std::string kontonr, std::string pin, int dispo=0) : _CKonto(kontoNr, pin), dispo(dispo){}; }; void setdispo(int neudispo){}; int getdispo(){ return dispo; }; Einführung in die C++-Programmierung, Seite 12
13 Kopf einer Subklasse class _CGiroKonto : public _Ckonto { Jede Subklasse beginnt wie die Basisklasse mit dem Schlüsselwort class. Dem Schlüsselwort folgt der Name der Subklasse. Der Doppelpunkt trennt den Namen der abgeleiteten Klasse von der Basisklassen-Liste. Einführung in die C++-Programmierung, Seite 13
14 Basisklassen-Liste class _CGiroKonto : public _Ckonto { Die Namen der Basisklassen, getrennt durch Kommata, werden aufgelistet. Die Liste wird vom Namen der abgeleiteten Klasse durch ein Doppelpunkt getrennt. Der Zugriff auf die Basisklasse wird spezifiziert. In den meisten Fällen ist der Zugriff ist öffentlich. Die Subklasse ist eine Teilmenge der Basisklasse. Die Zugriffsrechte der Basisklasse werden übernommen. Einführung in die C++-Programmierung, Seite 14
15 Zugriff Deklaration in der Basisklasse Zugriff auf die Basisklasse aus Sicht der Subklasse public public public public protected protected protected private private private public protected public protected protected protected protected private private private public private public private protected protected private private private private aus Sicht des Objekts Subklasse Einführung in die C++-Programmierung, Seite 15
16 Regeln für die Subklasse Jede Subklasse hat ein anonymes Objekt vom Typ Basisklasse eingebettet. Die Subklasse kann auf alle public- und protected-elemente der Basisklasse zugreifen. Die Subklasse kann eigene Methoden implementierten oder die Methoden aus der Basisklasse nutzen. Die Methoden aus einer Basisklasse können von der Subklasse überladen werden. Einführung in die C++-Programmierung, Seite 16
17 Regeln für die Basisklasse Die Basisklasse vererbt alle Elemente, bis auf Konstruktoren, Destruktoren und Zuweisungsoperatoren. Die Basisklasse wird nicht durch die Subklasse verändert. Es können beliebig viele Klassen von der Basisklasse abgeleitet werden. Einführung in die C++-Programmierung, Seite 17
18 Konstruktor public: _CGiroKonto(std::string kontonr, std::string pin, int dispo=0) : _CKonto(kontoNr, pin), dispo(dispo){}; Mit Hilfe der Initialisierungsliste werden die Anfangswerte für die verschiedenen Attribute gesetzt. In der Initialisierungsliste wird immer zuerst der Konstruktor der Basisklasse aufgerufen und anschließend die Attribute der Subklasse initialisiert. Die Reihenfolge der Attribute entspricht der Reihenfolge in den Klassen. Einführung in die C++-Programmierung, Seite 18
19 Polymorphie Vielgestaltigkeit, Ähnlichkeit. innerhalb einer Klasse: Methoden in einer Klasse werden überladen. bei der Vererbung von Klassen: Die Subklasse überschreibt eine Methode der Basisklasse. Die Subklasse nutzt virtuelle Methoden. Objekte einer Subklasse, die alle die gleiche Basisklasse nutzen, reagieren auf ein und dieselbe Nachricht unterschiedlich. Einführung in die C++-Programmierung, Seite 19
20 Überladende Methoden... besitzen den gleichen Namen. unterscheiden sich in dem Datentyp und / oder der Anzahl der Parameter. werden nicht mit Hilfe des Funktionstyps oder von Default- Parametern unterschieden. Einführung in die C++-Programmierung, Seite 20
21 Methoden in einer Klasse überladen class KUNDE{ public: void setadress(string strasse, string plz, string ort); void setadress(string nachname); }; void KUNDE::setAdress(string strasse, string plz, string ort) { kundestrasse = strasse; kundeplz = plz; kundeort = ort; } void KUNDE::setAdress(string nachname){ kundename = nachname; } Einführung in die C++-Programmierung, Seite 21
22 Methoden überschreiben Methoden aus der Basisklasse werden überdeckt. Geerbte Methoden werden mit einer neuen Funktionalität versehen. Die Methode aus der Basisklasse und der Subklasse besitzen den gleichen Methodenkopf. Nur die Anweisungen im Methodenrumpf werden verändert. Einführung in die C++-Programmierung, Seite 22
23 Methoden in der Basisklasse implementieren class _CKonto { protected: float kontostand; }; public: float hebeab(float betrag){ kontostand = kontostand - betrag; return kontostand; } Einführung in die C++-Programmierung, Seite 23
24 Methoden aus einer Basisklasse überschreiben class _CGiroKonto : public _CKonto{ private: int dispo; public: float hebeab(float betrag){ if ( (kontostand - betrag ) >= 0){ kontostand = kontostand - betrag; } else if ( (kontostand - betrag ) >= dispo){ kontostand = kontostand - betrag; } return kontostand; } }; Einführung in die C++-Programmierung, Seite 24
25 Hinweise Jede Methode aus der Basisklasse kann überschrieben werden. Die Methode besitzt in der Basisklasse und in der Subklasse den gleichen Methodennamen. Die Parameterliste in der Basisklasse sowie in der Subklasse sind gleich. Einführung in die C++-Programmierung, Seite 25
26 Aufruf der Methode // Aufruf der Methode in der Subklasse mygiro.hebeab(200); cout << "Kontostand:" << mygiro.getkontostand() << endl; // Aufruf der Methode aus der Basisklasse. mygiro._ckonto::hebeab(300); cout << "Kontostand:" << mygiro.getkontostand() << endl; Einführung in die C++-Programmierung, Seite 26
27 Virtuelle Methoden werden nur in der Basisklasse implementiert. definieren eine Schnittstelle für alle Subklassen der Basisklasse. werden in der Subklasse überschrieben. Die Methode kommt mit dem gleichen Namen und gleicher Parameterliste in der Subklasse vor. sind vom Typ des Objekts abhängig. Welcher Klasse gehört das Objekt an? benötigen einen virtuellen Destruktor. Einführung in die C++-Programmierung, Seite 27
28 Late Binding der virtuellen Methoden Späte Bindung oder dynamische Bindung. Beim Linken wird keine feste Sprungadresse für die Methode eingetragen. Der Methodenaufruf wird erst zur Laufzeit des Programms einer Methode zugeordnet. Einführung in die C++-Programmierung, Seite 28
29 Realisierung Jede Klasse mit virtuellen Methoden hat eine Virtual Method Table, in der die Adressen der virtuellen Methoden gespeichert sind. Ein Objekt einer polymorphen Klasse hat einen Virtual Method Pointer, der auf diese Tabelle zeigt. Einführung in die C++-Programmierung, Seite 29
30 in der Basisklasse implementieren class _CKonto { protected: float kontostand; }; public: virtual float hebeab(float betrag){ kontostand = kontostand - betrag; return kontostand; } Einführung in die C++-Programmierung, Seite 30
31 Kopf einer virtuellen Methode public: virtual float hebeab(float betrag){ beginnt immer mit dem Schlüsselwort virtual. Dem Schlüsselwort folgt der Name der virtuellen Methode. Eine virtuelle Methode hat eine Parameterliste. Einführung in die C++-Programmierung, Seite 31
32 Konstruktoren und Destruktoren Konstruktoren dürfen nicht virtuell sein. Zum Erzeugen von Objekten muss die Klasse zur Compilezeit festgelegt sein. Destruktoren können virtuell sein. Die Destruktoren werden dann immer in der Reihenfolge Kind Eltern abgearbeitet. Einführung in die C++-Programmierung, Seite 32
33 Virtueller Destruktor in der Basisklasse class _CKonto { Protected: // Attribute public: // Konstruktoren virtual ~_CKonto() { kontostand = 0; kontonummer = ""; pinnummer = ""; delete this; } Einführung in die C++-Programmierung, Seite 33
34 Aufbau eines Destruktors Ein Destruktor beginnt mit ~ (Tilde). Destruktoren nutzen wie Konstruktoren als Bezeichnung den Namen der Klasse. Destruktoren haben keinen Rückgabewert. Parameter werden an einen Destruktor nicht übergeben. Einführung in die C++-Programmierung, Seite 34
35 Aufruf von Destruktoren Destruktoren werden automatisch aufgerufen, wenn ein Objekt zerstört wird. Das heißt, die Objektvariable verliert ihre Gültigkeit. delete für die dynamische Verwaltung von Objekten aufgerufen wird. Einführung in die C++-Programmierung, Seite 35
36 manuell erstellen Angeforderter Speicher wird freigegeben. Verbindungen zu Datenbanken oder Dateien müssen aufgelöst werden. Virtuelle Destruktoren werden für eine Basisklasse benötigt. Einführung in die C++-Programmierung, Seite 36
37 Abstrakte Klassen haben mindestens eine pure virtual Methode. definieren Schnittstellen können keine Objekte erzeugen. liefern Informationen an die abgeleitete Klasse. Einführung in die C++-Programmierung, Seite 37
38 implementieren class _CKonto { protected: public: // Konstruktoren virtual ~_CKonto() { kontostand = 0; kontonummer = ""; pinnummer = ""; delete this; } // Methoden virtual float hebeab(float betrag) = 0; Einführung in die C++-Programmierung, Seite 38
39 Pure virtual Methode public: virtual float hebeab(float betrag) = 0; sind virtuelle Methoden, denen der Wert 0 zugewiesen wird. sind Deklarationen einer Methode. Eine allgemeine Implementierung für diese Methode ist nicht möglich. Alle Subklassen müssen diese Methode überladen. Einführung in die C++-Programmierung, Seite 39
40 Methoden aus einer Basisklasse überladen class _CGiroKonto : public _CKonto{ private: public: float hebeab(float betrag, _CKonto &konto) { if ( (kontostand - betrag ) >= 0){ kontostand = kontostand - betrag; konto.zahleein(betrag); } else if ( (kontostand - betrag ) >= dispo){ kontostand = kontostand - betrag; konto.zahleein(betrag); } return kontostand; } Einführung in die C++-Programmierung, Seite 40
41 Hinweise Die Methode aus der Basisklasse wird überdeckt. Sobald die überladene Methode aufgerufen wird, wird zuerst in der Subklasse nach einer Methode gesucht und anschließend in der Basisklasse. Einführung in die C++-Programmierung, Seite 41
42 Operatoren überladen..., um Rechenoperatoren oder Vergleichsoperatoren für benutzerdefinierte Datentypen zu implementieren...., um Klassen mit einer Funktionalität ähnlich wie Standard- Datentypen auszustatten. Einführung in die C++-Programmierung, Seite 42
43 Operatoren in C++ Umgangssprachliche Schreibweise: summe = a + b Der Operator definiert eine Verknüpfungsvorschrift. Formale Schreibweise: summe = operator+ (a, b) Die Operatoren sind als Funktionen implementiert. Der Funktion Addition werden zwei Parameter übergeben. Einführung in die C++-Programmierung, Seite 43
44 Nicht oder nur in Klassen überladbare Operatoren Nicht überladbare Operatoren: ::?:..* size of typei d Außerdem können die Cast-Operatoren, die Präprozessor- Kennzeichnung # oder ## sowie defined nicht überladen werden. Nur in Klassen überladbare Operatoren: = () [] -> Einführung in die C++-Programmierung, Seite 44
45 Regeln Es können keine neuen Operatoren definiert werden. Mindestens ein Operand muss eine Klasse oder eine Referenz auf eine Klasse sein. Die Funktionalität des Operators wird nicht verändert. Operanden, die aneinandergereiht werden können, müssen eine Referenz auf den linken Operator zurückgeben. Einführung in die C++-Programmierung, Seite 45
46 Überladung im Klassenbereich class KUNDE{ public: KUNDE& operator= (const KUNDE quelle) { kundename = quelle.kundename; kundevorname = quelle.kundevorname; kundestrasse = quelle.kundestrasse; kundeplz = quelle.kundeplz; kundeort = quelle.kundeort; }; } return *this; Einführung in die C++-Programmierung, Seite 46
47 Überladung des Zuweisungsoperators Eine Klasse hat dynamische Eigenschaften. Ein Kopierkonstruktor wird benötigt. Ein Destruktor wird benötigt. Einführung in die C++-Programmierung, Seite 47
48 Aufbau public: KUNDE& operator= (const KUNDE quelle) { return *this; } werden für Überladungen genutzt, die auf private- und protected-attribute zugreifen müssen. Der Funktionsname besteht aus dem Schlüsselwort operator und dem Operator-Zeichen. Es muss ein Objekt als erster Parameter genutzt werden. Einführung in die C++-Programmierung, Seite 48
49 Rückgabewert public: KUNDE& operator= (const KUNDE quelle) { return *this; } Die Funktion gibt eine Referenz auf das geänderte Objekt zurück. Einführung in die C++-Programmierung, Seite 49
50 this ist ein Zeiger auf das aktuelle Objekt. ist ein konstanter Zeiger. hat als Wert die Adresse des aktuellen Zeigers. Einführung in die C++-Programmierung, Seite 50
51 Überladung im Dateibereich class _CKonto { public: _CKonto operator+= (int betrag); }; _CKonto _CKonto::operator+= (int betrag) { kontostand += betrag; return *this; } Einführung in die C++-Programmierung, Seite 51
52 Aufbau _CKonto _CKonto::operator+= (int betrag) { return *this; } werden für Überladungen von arithmetischen oder relationalen Operatoren genutzt. Es kann ein beliebiges Element als erster Parameter genutzt werden. können nicht auf protected-attribute zugreifen. Einführung in die C++-Programmierung, Seite 52
53 Objekte als Parameter float hebeab(float betrag, _CKonto &konto){}; class _CKonto mykonto("123456", "abc12"); class _CGiroKonto mygiro("345612", "", 200); mygiro.hebeab(100, mykonto); Ein Objekt wird an eine Methode als Referenz übergeben. Es wird ein Alias für ein Objekt übergeben. Das übergebene Objekt kann mit Hilfe des Schlüsselwortes const vor Veränderungen geschützt werden. Einführung in die C++-Programmierung, Seite 53
54 dynamic_cast class _CKonto *basisclassptr; class _CKonto *subclassptr; basisclassptr = dynamic_cast<_ckonto *>(&mygiro); ist nur mit Zeigern und Referenzen möglich.... benötigen Run-Time Type Information (RTTI). Einige Compiler haben diese deaktiviert! Einführung in die C++-Programmierung, Seite 54
55 nutzen Konvertierung von Basisklassen-Zeigern in Subklassen- Zeigern. Konvertierung eines Subklassen-Zeiger in einem Basisklassen- Zeigern. Diese Konvertierung kann zu einem Informationsverlust führen! Einführung in die C++-Programmierung, Seite 55
56 Wann wird die Konvertierung ausgeführt? Zur Laufzeit. Falls eine Konvertierung nicht möglich ist.... wird ein Null-Zeiger übergeben oder... bad_cast bei Referenzen. Einführung in die C++-Programmierung, Seite 56
57 static_cast class _CKonto *basisclassptr; class _CKonto *subclassptr; basisclassptr = static_cast<_ckonto *>(&mygiro); Der Typ, in den konvertiert wird, muss während der Compilierung bekannt sein! Einführung in die C++-Programmierung, Seite 57
58 nutzen class _CKonto *basisclassptr; class _CKonto *subclassptr; basisclassptr = static_cast<_ckonto *>(&mygiro);... wird für die Konvertierung von Variablen von einem Datentyp in einem anderen genutzt.... wird für die Konvertierung von Basisklassen-Zeigern in Subklassen-Zeigern genutzt.... kann für die Umwandlung eines Subklassen-Zeiger in einem Basisklassen-Zeigern genutzt werden.... wandelt einen void-zeiger in jeden anderen Zeiger um. Einführung in die C++-Programmierung, Seite 58
59 reinterpret_cast und const_cast const_cast... fügt const hinzu oder entfernt dieses. reinterpret_cast... konvertiert jeden Zeiger in jeden anderen Zeiger Interpretation von Bitmustern im Kontext des Ziels.... konvertiert Ganzzahl nach Zeiger. Einführung in die C++-Programmierung, Seite 59
Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern
Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
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
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrC/C++-Programmierung
1 C/C++-Programmierung new/delete, virtual, Typumwandlungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 new/delete
MehrKlassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrC++ - Einführung in die Programmiersprache Objektorientierte Programmierung
C++ - Einführung in die Programmiersprache Objektorientierte Programmierung hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen Modulare Programmierung Projekt
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
Mehr5.6 Vererbung. Vererbung
5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
Mehr1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung
K05 Vererbung & Polymorphie in C++ 1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung 2 Vererbung in C++: Grundlagen Analog zu Java unterstützt C++ das Konzept der Vererbung:
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrObjektorientierte Programmierung
Programmierkurs C++ Kapitel 7:Objektorientierte Programmierung Seite 1 Objektorientierte Programmierung If programming in PASCAL is like put in a straightjacket, then programming in C is like playing with
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrProgrammieren - Vererbung & Polymorphie
Programmieren - Vererbung & Polymorphie Reiner Nitsch r.nitsch@fbi.h-da.de Vererbung - Was ist das? Vererbung ist ein wichtiges Konzept zur Unterstützung der Wiederverwendbarkeit, wenn auch nicht das Wichtigste.
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
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.
MehrProgrammieren Tutorium
Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
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
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Die Vererbung ermöglicht es, neue Klassen auf der Basis von schon
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrOO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
MehrProgrammieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen
Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,
MehrPIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2008/2009
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2008/2009 FB Informatik
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrMethoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only
Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
Mehr5 Projekt Bankverwaltung
Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen
MehrObjektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11
Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrPHP - Projekt Personalverwaltung. Erstellt von James Schüpbach
- Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrObjektorientierte Programmierung mit C++ Vector und List
Vector und List Ziel, Inhalt Wir lernen die Klassen vector und list aus der Standard-C++ Library kennen und anwenden. In einer Übung wenden wir diese Klassen an um einen Medienshop (CD s und Bücher) zu
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Mehr4 Vererbung, Polymorphie
4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work
MehrHow to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
MehrArrays Fortgeschrittene Verwendung
Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung
MehrC++ - Operatoren. Eigene Klassen mit neuen Funktionen
C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrSichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
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
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrProgrammieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen
Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung
MehrVIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrC++-Zusammenfassung. H. Schaudt. August 18, 2005
C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrExcel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
MehrO UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:
O UTLOOK EDITION Was ist die Outlook Edition? Outlook Edition integriert Microsoft Outlook E-Mail in Salesforce. Die Outlook Edition fügt neue Schaltflächen und Optionen zur Outlook- Benutzeroberfläche
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen
MehrObjektorientierung: Klassen und Objekte
Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
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
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrArchiv - Berechtigungen
Archiv - Berechtigungen - 1 Inhaltsverzeichnis 1. Grunddefinitionen...3 1.1. Mögliche Definitionen...3 1.1.1. Programme...3 1.1.2. Prinzipale...3 1.1.3 Archivzugriff...3 1.2. Leserichtung...3 1.2.1. Ordnerbezogen...3
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrBedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof
Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung
MehrBenutzeranleitung Superadmin Tool
Benutzeranleitung Inhalt 1 Einleitung & Voraussetzungen... 2 2 Aufruf des... 3 3 Konto für neuen Benutzer erstellen... 3 4 Services einem Konto hinzufügen... 5 5 Benutzer über neues Konto informieren...
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
MehrTevalo Handbuch v 1.1 vom 10.11.2011
Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
Mehr1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation des Quellcodes 4. Werte- und Referenzsemantik
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
MehrSWE5 Übungen zu Software-Engineering
1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und
MehrVon der UML nach C++
22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete
MehrVererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.
Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrKapselung und Methodenbindung: Javas Designprobleme und ihre Korrektur. Dipl.-Inform. Peter Müller Prof. Arnd Poetzsch-Heffter Fernuniversität Hagen
Kapselung und Methodenbindung: Javas Designprobleme und ihre Korrektur Dipl.-Inform. Peter Müller Prof. Arnd Poetzsch-Heffter Fernuniversität Hagen Gliederung Einführung: Methodenbindung und Kapselung
MehrBedienung von BlueJ. Klassenanzeige
Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument
MehrEinführung in die Programmierung
: Inhalt 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 - mit / ohne Parameter - mit / ohne Rückgabewerte
Mehr