C++ - Einführung in die Programmiersprache Objektorientierte Programmierung
|
|
- Stefanie Wolf
- vor 8 Jahren
- Abrufe
Transkript
1 C++ - Einführung in die Programmiersprache Objektorientierte Programmierung hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen
2 Modulare Programmierung Projekt main.cpp int main(){ // Anweisungen } rechnen.cpp int addition(...) { } int subtraktion(...) { } rechnen.h int addition(...); int subtraktion(...); Einführung in die C++-Programmierung, Seite 2
3 Erläuterung Jede Aufgabe wird in Teilaufgaben zerlegt. Eine Funktion stellt eine Teilaufgabe dar. Verschiedene Funktionen, die verschiedene Aufgaben innerhalb eines Projekts bewältigen, werden in einer Quelldatei zusammengefasst. Header-Dateien enthalten die Deklarationen und Definitionen. Quelldateien und Header-Dateien werden in einem Projekt gesammelt. Das Projekt bildet die Gesamtaufgabe ab. Einführung in die C++-Programmierung, Seite 3
4 Objektorientierte Programmierung... abstrahiert Gegenstände der realen Welt, um sie in einem Programm abzubilden.... versucht Daten, die ein Objekt beschreiben und Prozeduren, die die Daten verändern, in einer Struktur zusammenzufassen.... versucht Daten und Funktionen, die die Daten verändern, in einer Struktur zu kapseln. Einführung in die C++-Programmierung, Seite 4
5 Prinzipien Datenkapselung Die Daten gehören zu einem bestimmten Objekt. Ein fremdes Objekt kann diese Daten nicht lesen. Die Definition von Funktionen wird verborgen. Polymorphie Methoden (Funktionen) können überschrieben werden. Vererbung Kinder erben von ihren Eltern Eigenschaften und Methoden. Einführung in die C++-Programmierung, Seite 5
6 Objekte beschreiben einen Gegenstand, Person etc. aus der realen Welt. sind Substantive in einem Text. haben Attribute (Eigenschaften), die das Aussehen des Objekts beschreiben. haben Methoden, die die Attribute verändern. Methoden spiegeln das Verhalten eines Objekts wieder. Einführung in die C++-Programmierung, Seite 6
7 Beispiel Ein Würfel wird beschrieben: Der Würfel ist rot. Der Würfel hat eine Kantenlänge von 5 cm. Der Würfel kann gedreht werden. Der Würfel kann neu eingefärbt werden. Einführung in die C++-Programmierung, Seite 7
8 Klassen sind Baupläne zur Beschreibung eines Objekts. abstrahieren das Aussehen und Verhalten eines bestimmten Objekttyps. bieten eine Schablone, um Objekte abstrakt zu beschreiben. definieren Eigenschaften (Attribute) und Methoden die alle Objekte eines bestimmten Typs besitzen. Einführung in die C++-Programmierung, Seite 8
9 Beispiel Welche Eigenschaften hat jeder Würfel? Farbe. Kantenlänge Welche Methoden hat jeder Würfel? Drehen. Einfärben. Zeichnen. Einführung in die C++-Programmierung, Seite 9
10 Beschreibung mit Hilfe von UML Unified Modelling Language zur Darstellung von Klassen etc. Der Name der Klasse steht am oberen Rand. Dem Namen folgen die Attribute der Klasse. Auf die Attribute kann von außen nicht zu gegriffen werden (-; private ). Am Ende werden die Methoden aufgelistet. Die Methoden dürfen von außen aufgerufen werden (+; public). Wuerfel - farbe : string - kante: double +get_farbe() : string +get_laenge() : float +set_farbe() : string +set_laenge(): float +drehen_wuerfel() : void Einführung in die C++-Programmierung, Seite 10
11 Klassen in C++ class KUNDE { private: string kontonummer; string pinummer; float guthaben; int dispo; public: string getadress(); void setadress(string strasse, string plz, string ort); float hebeab(float betrag); float zahleein(float betrag); float changedispo(float betrag); }; Einführung in die C++-Programmierung, Seite 11
12 Deklaration einer Klasse class KUNDE { private: // Attribute public: // Methoden }; beginnt mit dem Schlüsselwort class. Dem Schlüsselwort folgt der Name der Klasse. Attribute und Methoden werden mit Hilfe der geschweiften Klammern zu einer Struktur zusammengefasst. endet mit einem Semikolon. wird nie innerhalb der main-funktion definiert. Häufig werden sie in Header-Dateien ausgelagert. Einführung in die C++-Programmierung, Seite 12
13 Regeln für Klassennamen Es können die Buchstaben a...z, A...Z, die Zahlen sowie der Unterstrich genutzt werden. Klassennamen beginnen mit einem Großbuchstaben. Häufig haben Klassennamen das Präfix C, um sie von anderen Elementen in C++ zu unterscheiden. Unterscheidung zwischen Groß- und Kleinschreibung. Einführung in die C++-Programmierung, Seite 13
14 Weitere Hinweise Nutzen Sie aussagekräftige Namen. Der Oberbegriff aus der realen Welt sollte auch für die dazugehörige Klasse in C++ genutzt werden. Jedes Teilwort eines Klassennamen beginnt mit mit einem Großbuchstaben. Es wird ein Sprachraum genutzt. Schlüsselwörter der Programmiersprache C++ dürfen nicht genutzt werden. Einführung in die C++-Programmierung, Seite 14
15 in einer Projektbeschreibung Klassen entsprechen Substantiven in einer Projektbeschreibung. Das Konto wird für den Inhaber xyz von der Bank a eröffnet. Das Auto HI hat den Besitzer xyz. Mitarbeiter Müller arbeitet an dem Projekt Ausschreibung. Die Bestellung wird über einen Laserdrucker xyz ausgedruckt. Außendienstmitarbeiter Meier betreut Kunden im Bezirk Unterweser. Redundante oder für die Aufgabenstellung unnötige Klassen werden nicht implementiert. Einführung in die C++-Programmierung, Seite 15
16 Attribute (Member) beschreiben einen Gegenstand, Person, Funktion etc. Jedes Objekt einer Klasse hat die gleichen Attribute. Jedes Objekt einer Klasse unterscheidet sich aber in mindestens einem Attributwert von allen anderen Objekten. werden für jedes Objekt im Speicher angelegt. Anschließend werden die Attribute mit bestimmten Werten initialisiert. Einführung in die C++-Programmierung, Seite 16
17 implementieren class KUNDE{ private: string kontonummer; string pinummer; float guthaben; int dispo; }; sind Variablen in C++, gekapselt in einer Klasse. Der Datentyp bestimmt die Art des Attributs. Es kann jeder Datentyp aus C++ genutzt werden. Jede Deklaration endet mit einem Semikolon. Einführung in die C++-Programmierung, Seite 17
18 in der Projektbeschreibung Attribute entsprechen meist der Beschreibungen eines Objekts. Das Auto ist rot und hat einen KM-Stand von Die Milch ist pasteurisiert. Sobald ein Buch im Lager vorhanden ist, wird es an den Kunden ausgeliefert. Attribute sind Substantive, die einen Rückbezug auf ein anderes Substantiv besitzen. Die Menge des Artikels. Ausleihdatum des Buches. Anmeldung eines Autos. Einführung in die C++-Programmierung, Seite 18
19 Statische Attribute class _CGirokonto{ private: static float zinssatz; }; float _CGirokonto::zinssatz = 2.0; werden nur einmal für alle Objekte einer Klasse im Speicher abgelegt. werden in der Klasse deklariert (static float zinssatz;). werden außerhalb der Klasse definiert und initialisiert (float _CGirokonto::zinssatz = 2.0). Einführung in die C++-Programmierung, Seite 19
20 Methoden beschreiben das Verhalten eines Objekts. lesen oder verändern Attributwerte. beschreiben eine Schnittstelle nach außen. werden nur einmal für die Klasse im Speicher angelegt. Einführung in die C++-Programmierung, Seite 20
21 deklarieren und definieren Methoden werden immer in einer Klasse deklariert. Methoden können in der Klasse definiert werden. außerhalb der Klasse definiert werden. Einführung in die C++-Programmierung, Seite 21
22 Prototyp einer Methode Datentyp Methodenname(para01, para02,...); class KUNDE{ // Attribute public: string getadress(); void setadress(string strasse, string plz, string ort); float hebeab(float betrag); float zahleein(float betrag); float changedispo(float betrag); }; sind C++ Funktionsprototypen, gekapselt in einer Klasse. Jede Deklaration wird mit einem Semikolon beendet. Einführung in die C++-Programmierung, Seite 22
23 in der Projektbeschreibung Methoden sind meist Verben. Das Bankkonto wird eröffnet. Der Inhaber hebt eine bestimmte Summe von seinem Konto ab. Beschreibung einer Zustandsänderung / Änderung: Wenn die Ampel gelb ist, wird die Geschwindigkeit des Autos vermindert. Wenn die Helligkeit draußen einen bestimmten Prozentwert unterschreitet, wird die Straßenlaterne eingeschaltet. Eine Zugdurchfahrt wird gemeldet. Die Schranke wird geschlossen. Einführung in die C++-Programmierung, Seite 23
24 Deklaration und Definition in der Klasse class KUNDE{ // Methoden public: string getadress() { stringstream tmpadresse; tmpadresse << kundename << ", " << kundevorname << endl; tmpadresse << kundestrasse << endl; tmpadresse << kundeplz << " " << kundeort<< endl; return tmpadresse.str(); } }; Einführung in die C++-Programmierung, Seite 24
25 Hinweise Die gleichzeitige Deklaration und Definition einer Methode muss nicht mit einem Semikolon abgeschlossen werden. Eine Definition der Methode innerhalb der Klasse sollte nur für sehr kleine Funktionen genutzt werden. lesenden Zugriffe verwendet werden. Es wird auf die Werte der Attribute zugegriffen, aber die Werte werden nicht verändert. Einführung in die C++-Programmierung, Seite 25
26 Definition außerhalb der Klasse, aber in einer Datei class KUNDE{ // Attribute public: void setadress(string strasse, string plz, string ort); }; void KUNDE::setAdress(string strasse, string plz, string ort) { kundestrasse = strasse; kundeplz = plz; kundeort = ort; } Einführung in die C++-Programmierung, Seite 26
27 Aufbau des Methodenkopfs void KUNDE::setAdress(string strasse, string plz, string ort) void definiert den Funktionstyp. Welchen Datentyp gibt die Methode zurück? KUNDE beschreibt die Klasse, in der die Methode deklariert ist. Die Klasse und der Methodennamen sind durch zwei Doppelpunkte getrennt. Zwischen den zwei Doppelpunkten darf kein Leerzeichen stehen. Dem Methodennamen folgt die Parameterliste. In der Parameterliste werden die Eingabeparameter für die Methode, getrennt durch Kommata, aufgelistet. Einführung in die C++-Programmierung, Seite 27
28 Bereichsoperator (Soope-Operator) besteht aus zwei nacheinander folgenden Doppelpunkten. Links vom Bereichsoperator steht die Klasse, in der die Methode deklariert wurde. Rechts vom Bereichsoperator steht die zu definierte Methode. Einführung in die C++-Programmierung, Seite 28
29 Klassen in der Praxis kunde.h class KUNDE { private: // Attribute public: void setadress(...); }; kunde.cpp class KUNDE { private: // Attribute public: void setadress(...); }; Die Schnittstelle wird von der Implementierung getrennt. Die Schnittstelle in der Header-Datei sollte nicht verändert werden. Vorteil: Änderungen im Methodenrumpf benötigen keine Neu- Kompilierung der Header-Datei. Einführung in die C++-Programmierung, Seite 29
30 Beispiel: Header-Dateien class KUNDE { private: string kundename; string kundevorname; string kundestrasse; string kundeplz; string kundeort; string pinnummer; }; public: void setadress(string strasse, string plz, string ort); void setpinnummer(string pin); Einführung in die C++-Programmierung, Seite 30
31 Beispiel: Methoden-Definition in einer Quelldatei #include "objektkunde.h" void KUNDE::setPinnummer(string pin){ pinnummer = pin; } void KUNDE::setAdress(string strasse, string plz, string ort){ kundestrasse = strasse; kundeplz = plz; kundeort = ort; } Einführung in die C++-Programmierung, Seite 31
32 Zugriff festlegen private: oder public:. Mit Hilfe des Schlüsselwortes private oder public wird die Zugriffsart festgelegt: Dem Schlüsselwort folgt immer ein Doppelpunkt. Das Zugriffsrecht gilt für alle nachfolgenden Zeilen. Einführung in die C++-Programmierung, Seite 32
33 Zugriffsrecht private Das Element ist in der Klasse / in dem Block gekapselt. Zugriff nur innerhalb der eigenen Klasse. Ein Zugriff von außen ist nicht möglich. Die Elemente der Klasse sind schreibgeschützt. wird für Attribute einer Klasse genutzt. Die Werte der Attribute können nicht außen unkontrolliert verändert werden. In einer Klasse sind alle Elemente standardmäßig privat. Einführung in die C++-Programmierung, Seite 33
34 Zugriffsrecht public Die Elemente sind öffentlich. Auf die Elemente kann von außen zu gegriffen werden. Methoden sind öffentlich zugänglich. Die Methoden einer Klasse können von außen aufgerufen werden. beschreibt eine Schnittstelle nach außen. Einführung in die C++-Programmierung, Seite 34
35 Konstante Methoden class KUNDE { Private: // Attribute }; public: string getadress() const; // Methoden string KUNDE::getAdress() const { stringstream tmpadresse; // Anweisungen return tmpadresse.str(); } Einführung in die C++-Programmierung, Seite 35
36 Hinweise In der Deklaration sowohl als auch in der Definition muss am Ende des Methodenkopf das Schlüsselwort const angegeben werden. Konstante Methoden lesen Attribute, verändern diese aber nicht. Eine konstante Methode kann im Methodenrumpf nur eine weitere konstante Methode aufrufen. Konstante Objekte können nur konstante Methoden aufrufen. Einführung in die C++-Programmierung, Seite 36
37 Objektvariable KUNDE mykunde; class KUNDE mykunde;... definiert eine Variable der entsprechenden Klasse. verweist auf die Speicheradresse, an der das Objekt abgelegt ist.... nutzt als Datentyp den Namen einer Klasse. Der Name der Objektvariablen ist frei wählbar. Das Schlüsselwort class wird bei einem eindeutigen Klassennamen nicht benötigt. Einführung in die C++-Programmierung, Seite 37
38 Methoden aufrufen mykunde.setadress("straße", "38640", "Goslar"); cout << mykunde.getadress() << endl; mykunde.setpinnummer("1234"); Methoden werden mit ihren Namen aufgerufen. Die Parameterliste kann leer sein oder die zu übergebenen Parameter auflisten. Die Objektvariable wird mit der Methode durch den Punkt verbunden. Die Objektvariable ist ein Synonym für die Klasse, in der die Methode deklariert ist. Einführung in die C++-Programmierung, Seite 38
39 Lebenszyklus eines Objekts erzeugen: Aufruf eines Konstruktors KUNDE mykunde; arbeiten: Methoden aufrufen mykunde.setpinnummer("1234"); zerstören: Destruktor automatisch aufrufen Einführung in die C++-Programmierung, Seite 39
40 Konstruktoren class KUNDE { private: // Attribute public: KUNDE(string nachname, string vorname) { kundename = nachname; kundevorname = vorname; } sind spezielle Methoden zur Initialisierung eines Objekts. setzen Anfangswerte für ein Objekt. Einführung in die C++-Programmierung, Seite 40
41 Kopf eines Konstruktors KUNDE(string nachname, string vorname) Als Bezeichnung wird der Name der Klasse genutzt. Die folgende Parameterliste kann leer sein. Es werden keine Startwerte für die Attribute gesetzt. kann die gewünschten Eingabeparameter enthalten. Diese Parameter werden genutzt, Startwerte für die Attribute zu setzen. Einführung in die C++-Programmierung, Seite 41
42 Eigenschaften Konstruktoren dürfen kein Objekt der eigenen Klasse anlegen. Konstruktoren haben immer das Zugriffsrecht public. Konstruktoren werden automatisch durch die Deklaration einer Objektvariablen aufgerufen. Konstruktoren setzen keine statischen Attribute. Durch die Erzeugung würde das statische Attribut auf den Anfangswert gesetzt werden. Es wird kein Wert zurückgegeben. Der Zustand des Objektes kann nur über die entsprechenden Methoden ermittelt werden. Konstruktoren können nie konstant sein. Konstruktoren können überladen werden. Einführung in die C++-Programmierung, Seite 42
43 implementieren werden wie Methoden in der Klasse gleichzeitig deklariert und definiert. Andere Möglichkeit: Die Deklaration des Konstruktors befindet sich innerhalb der Klasse. Die Definition des Konstruktors befindet sich außerhalb der Klasse. Einführung in die C++-Programmierung, Seite 43
44 in der Klasse deklarieren und definieren class KUNDE { private: // Attribute public: KUNDE(string nachname, string vorname) { kundename = nachname; kundevorname = vorname; } Einführung in die C++-Programmierung, Seite 44
45 außerhalb der Klasse implementieren class KUNDE { private: // Attribute public: KUNDE(string nachname, string vorname); }; KUNDE::KUNDE(string nachname, string vorname) { kundename = nachname; kundevorname = vorname; } Einführung in die C++-Programmierung, Seite 45
46 Überladene Konstruktoren deklarieren class KUNDE { private: // Attribute public: // Der Standard-Konstruktor hat nie Eingabeparameter KUNDE(); // Weitere Konstruktoren KUNDE(string nachname, string vorname); KUNDE(string nachname, string vorname, string kontonummer); }; // Methoden Einführung in die C++-Programmierung, Seite 46
47 Standard-Konstruktoren werden keine Parameter übergeben. muss immer ohne Klammern aufgerufen werden. werden vom System automatisch erzeugt. Die Attribute erhalten unbestimmte Werte. wird selbst definiert. Die Attribute werden mit Hilfe von Standardwerten initialisiert. Einführung in die C++-Programmierung, Seite 47
48 Allgemeine Konstruktoren Die Parameterliste kann aus beliebig vielen Parametern bestehen. können mit Hilfe der Anzahl und des Datentyps der Parameters wie Funktionen überladen werden. Wenn ein allgemeiner Konstruktor vorhanden ist, wird vom System kein Standardkonstruktor erzeugt. Einführung in die C++-Programmierung, Seite 48
49 Überladene Konstruktoren definieren KUNDE::KUNDE() { kundename = ""; kundevorname = ""; } KUNDE::KUNDE(string nachname, string vorname) { kundename = nachname; kundevorname = vorname; } KUNDE::KUNDE(string nachname, string vorname, string bankkonto) { kundename = nachname; kundevorname = vorname; kontonummer = bankkonto; } Einführung in die C++-Programmierung, Seite 49
50 Objekte erzeugen // Der Konstruktor erwartet keine Eingabeparameter class KUNDE KundeNoInfo; // Es werden zwei Eingabeparameter erwartet class KUNDE mykunde("nachname", "Vorname"); // Es werden drei Eingabeparameter erwartet class KUNDE KundeKonto("Nachname", "Vorname", "123456"); Einführung in die C++-Programmierung, Seite 50
51 Default-Parameter nutzen class KUNDE { private: // Attribute public: KUNDE(); KUNDE(string nachname, string vorname, string bankkonto= ""); // Methoden }; KUNDE::KUNDE() { // Anweisungen} KUNDE::KUNDE(string nachname, string vorname, string bankkonto) { // Anweisungen } Einführung in die C++-Programmierung, Seite 51
52 Hinweise Default-Parameter werden nur in der Deklaration gesetzt. Bevor Default-Parameter genutzt werden können, müssen diese bekannt sein. Nach einem Default-Parameter werden nur weitere Default- Parameter aufgelistet. Default-Parameter befinden sich am Ende der Parameterliste. Einführung in die C++-Programmierung, Seite 52
53 Konstante Attribute deklarieren class KUNDE { private: const string kundenummer; // Initialisierung im Konstruktor string kundename; string kundevorname; }; public: // Konstruktoren // Methoden Einführung in die C++-Programmierung, Seite 53
54 Initialisierung im Standard-Konstruktor class KUNDE { private: const string kundenummer; }; public: KUNDE(); KUNDE::KUNDE() : kundenummer("1111") { kundename = ""; kundevorname = ""; } Einführung in die C++-Programmierung, Seite 54
55 Initialisierungsliste KUNDE::KUNDE() : kundenummer("1111") { Die Initialisierungsliste wird vom Kopf des Konstruktors durch ein Doppelpunkt getrennt. besteht in diesem Beispiel nur aus dem Element kundenummer("1111"). kann mehrere Elemente, getrennt durch Kommata besitzen. Das Attribut kundennummer wird mit dem Wert 1111 initialisiert. Die Reihenfolge der Initialisierung richtet sich nach der Reihenfolge der Attribute in der Klasse. Einführung in die C++-Programmierung, Seite 55
56 Nutzen Konstante Attribute initialisieren. Attribute, die als Referenzen deklariert sind, initialisieren. Attribute werden direkt beim Anlegen der Datenstruktur initialisiert. Einführung in die C++-Programmierung, Seite 56
57 Initialisierung im allgemeinen Konstruktor class KUNDE { private: const string kundenummer; public: KUNDE(); }; // muss KUNDE(string kundenr, string nachname) : kundenummer(kundenr) { kundename = nachname; kontonummer = bankkonto; } Einführung in die C++-Programmierung, Seite 57
58 Definierte Klassen als Datentyp nutzen #ifndef BANK_CLASSGIROKONTO_H_INCLUDED #define BANK_CLASSGIROKONTO_H_INCLUDED #include "classkunde.h" // Definition des Datentyps _CKunde class _CGirokonto { private: _CKunde owner; string kontonummer; string pinnummer; float kontostand; int dispo; // Als Datentyp wird eine Klasse genutzt Einführung in die C++-Programmierung, Seite 58
59 Hinweis Attribute können nur vom Typ einer anderen Klasse sein. Es werden Objekte anderen Typs eingegebetttet. Attribute können nicht vom Typ der eigenen Klasse sein. Die Nutzung einer vorher definierten Klasse als Datentyp implementiert eine hat eine -Beziehung oder besitzt eine - Beziehung. Diese Art von Beziehung wird als Aggregation bezeichnet. Zum Beispiel: Ein Konto hat eine Person als Besitzer. Ein Person existiert ohne ein Konto. Ein Konto existiert aber nicht ohne eine Person. Einführung in die C++-Programmierung, Seite 59
60 Allgemeinen Konstruktor nutzen class _CGirokonto { private: _CKunde owner; // Als Datentyp wird eine Klasse genutzt public: // nur mit Initialisierungsliste möglich _CGirokonto(string kontonr, string pin, string kundennummer, string nachname, string vorname) : owner(kundennummer, nachname, vorname) { kontonummer = kontonr; kontostand = 10.0; } Einführung in die C++-Programmierung, Seite 60
61 Objekte erzeugen class _CGirokonto mykonto(" ", "7894","27", "Edda", "Mann"); class _CKunde mykunde("26", "Nachname", "Vorname"); Die Signatur der Parameterliste muss zu einem Konstruktor passen. werden innerhalb eines Blocks angelegt. Die Objektvariable ist lokal. erzeugt ein neues Objekt und initialisiert dieses. Eingebettete Objekte werden durch Aufruf eines Konstruktors vor dem umschließenden Objekt initialisiert. Einführung in die C++-Programmierung, Seite 61
62 Dynamische Objektvariablen class _CGirokonto *mykonto; mykonto = new _CGirokonto(" ", "7894","27", "Edda", "Mann"); werden als Zeiger implementiert. Mit Hilfe von new wird Speicher für das Objekt der Klasse angefordert. das Objekt mit Hilfe eines Konstruktors initialisiert. Der Zeiger verweist auf das neue Objekt. Einführung in die C++-Programmierung, Seite 62
63 löschen class _CGirokonto *mykonto; mykonto = new _CGirokonto(" ", "7894","27", "Edda", "Mann"); delete mykonto; Mit Hilfe von delete wird das Objekt aus dem Speicher entfernt. Einführung in die C++-Programmierung, Seite 63
64 Aufruf von Methoden class _CGirokonto *mykonto; mykonto = new _CGirokonto(" ", "7894","27", "Edda", "Mann"); std::cout << mykonto->getkontoinfo() << std::endl; Die Methode und das Objekt werden durch den Operator -> verbunden. Einführung in die C++-Programmierung, Seite 64
65 Arrays von Objektvariablen class _CKunde neukunde[10]; neukunde[0].setadress("strasse", "Ort", "Name"); class _CKunde neukunde[10]; legt ein Array von 10 Objekten vom Typ _Ckunde an. Für die Definition wird ein Konstruktor ohne Parameter benötigt. Die Attribute des Objekts werden mit Hilfe von Methoden gesetzt. Einführung in die C++-Programmierung, Seite 65
66 Methoden aufrufen class _CKunde neukunde[10]; neukunde[0].setadress("strasse", "Ort", "Name"); Die Elemente des Arrays werden mit Hilfe von Indizies aufgerufen. Jeder Index ist ein Platzhalter für ein Objekt. Die aufzurufende Methode wird mit Hilfe des Punktoperators mit einem Objekt verbunden. Einführung in die C++-Programmierung, Seite 66
67 Array von dynamischen Objektvariablen class _CKunde *array_kunde; array_kunde = new _CKunde[10]; werden als Zeiger implementiert. Mit Hilfe von new wird der gewünschte Speicher für das Array angefordert. jedes Objekt mit dem Standard-Konstruktor definiert. Der Zeiger verweist auf das erste Element im Array. Einführung in die C++-Programmierung, Seite 67
68 löschen delete[] array_kunde; Als Kennzeichen für die Löschung eines dynamischen Arrays folgen dem Schlüsselwort delete die eckigen Klammern. Das Weglassen der eckigen Klammern erzeugt keine Fehlermeldung, sondern nur eine fehlerhafte Löschung im Speicher. In diesem Beispiel wird das dynamische Array array_kunde gelöscht. Einführung in die C++-Programmierung, Seite 68
69 Methoden aufrufen (array_kunde+anzahl)->setkundenname("müller", "Else"); Die Methode wird mit Hilfe des ->-Operators mit dem dazugehörigen Objekt verbunden. Das gewünschte Objekt kann mit Hilfe von Indizies ermittelt werden. Andere Möglichkeit: Der Zeiger wird auf das gewünschte Element verschoben. Hinweis: Der Zeiger auf das erste Element muss erhalten bleiben. Andernfalls kann das Array nicht gelöscht werden. Einführung in die C++-Programmierung, Seite 69
Objektorientierte Programmierung mit Python Objekt und Klassen
Objektorientierte Programmierung mit Python Objekt und Klassen hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen Modulare Programmierung Eine Aufgabe wird
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:
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
MehrC++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern
C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches
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
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:
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
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
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++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrC++ - Objektorientierte Programmierung Klassen und Objekte
C++ - Objektorientierte Programmierung Klassen und Objekte hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue Klasse Warteschlange
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
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/
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 --
MehrObjektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ
Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die
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.
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
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
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
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
MehrProgrammieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.
Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrBEISPIELKLAUSUR Softwareentwicklung:
Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte
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. 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:
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
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
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
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrObjektorientierte 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
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
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
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,
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,
MehrZiel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind
Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt
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
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
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
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
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.
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
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
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
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,
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
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
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
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........................
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
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
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
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
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
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
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
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,
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
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)
MehrEinführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
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
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
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.
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 14. Modularisierung und Automatisierung Was heißt Modularisierung? Seite 2 bisher Programm komplett in einer Datei längere
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
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 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
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"
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
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
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
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
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren
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++ 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
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
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
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrSoftwaretechnik (Allgemeine Informatik) Überblick
Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6
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 Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrSoftware Engineering Klassendiagramme weiterführende Konzepte
Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public
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,
MehrÜbersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
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
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
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
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
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
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
MehrProgrammierkurs Java
Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
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
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrOperationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2
Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2 von Christoph Knabe http://public.beuth-hochschule.de/~knabe/ Ch. Knabe: Operationalisierbare Qualitätskriterien
Mehr