Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 12

Ähnliche Dokumente
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

Aufbau von Klassen. class punkt {...

Java Einführung Methoden. Kapitel 6

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

Konstruktoren und Destruktoren Initialisierung von Objekten

Vorlesung Datenstrukturen

Speicherklassen (1) Lokale Variablen

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Überblick. 6. Konstruktor und Destruktor - obligatorische Elementfunktionen einer Klasse

Prof. W. Henrich Seite 1

Repetitorium Informatik (Java)

Kurzeinführung in C/C++ Elementare Datentypen in C++

Java - Überladen von Methoden und Konstruktoren

Objektorientiertes Programmieren für Ingenieure

Einstieg in die Informatik mit Java

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Kapitel 6: Dynamische Speicherverwaltung

Programmierkurs Java

Einführung in die Programmierung 1

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

Deklarationen in C. Prof. Dr. Margarita Esponda

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

C++ für Anfänger des Programmierens, Ergänzungen Rieckeheer GSO-Hochschule Nürnberg November

Objektorientierung (OO)

Arrays (Felder/Vektoren)

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Computeranwendung und Programmierung (CuP)

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Einführung in die Programmierung

Einstieg in die Informatik mit Java

C++ Klassen, Vererbung. Philipp Lucas. Sebastian Hack. Wintersemester 2008/09. saarland.

Klassen. Kapitel Klassendeklaration

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

5.4 Klassen und Objekte

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Vorkurs C++ Programmierung

01. Grundprinzipien der Vererbung

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Übung Datenstrukturen. Objektorientierung in C++

Zählen von Objekten einer bestimmten Klasse

Dynamische Datentypen

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Einstieg in die Informatik mit Java

Programmierkurs C/C++

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Kapitel 3 Das Projekt Bankkonto Seite 1

Einführung in die Programmierung

Java Einführung Methoden in Klassen

Algorithmen und Datenstrukturen 06

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

2. Semester, 2. Prüfung, Lösung

Elementare Konzepte von

Einführung in die C-Programmierung

C++ - Einführung in die Programmiersprache Objektorientierte Programmierung

Klassen mit Instanzmethoden

Präzedenz von Operatoren

8. Referenzen und Zeiger

Vorkurs C++ Programmierung

Wird in Java zwischen Gross- und Kleinschreibung unterschieden?

Java Vererbung. Inhalt

3 Objektorientierte Konzepte in Java

Elementare Datentypen in C++

Einführung in die Programmierung Wintersemester 2016/17

Kapitel 6. Vererbung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23

Kapitel 6. Vererbung

4. Objektorientierte Programmierung mit C++

Objektorientierte Programmierung

4. Objektorientierte Programmierung mit C++

Kapitel 6. Vererbung

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache:

Die Programmiersprache C99: Zusammenfassung

Einstieg in die Informatik mit Java

C/C++-Programmierung

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

Programmieren Tutorium

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Globale Variablen Diverses. Globale Variablen. Globale Variablen

Kurze Einführung in die Programmiersprache C++ und in Root

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

10 Die Programmiersprache C99: Zusammenfassung

Software Engineering Klassendiagramme Einführung

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

5.5.8 Öffentliche und private Eigenschaften

Transkript:

Kapitel 18 Konstruktor / Destruktor einer Klasse Seite 1 von 12

Konstruktoren - Zur Initialisierung der Eigenschaften einer Klasse werden Konstruktoren verwendet. - Der Konstruktor wird bei der Definition eines Objekts der Klasse automatisch aufgerufen. - Der Konstruktor besitzt den gleichen Namen wie die Klasse. - Bis auf Objekte derselben Klasse dürfen in einem Konstruktor auch Objekte definiert werden. CKonto::CKonto(string name) { m_name = name; } Seite 2 von 12

Konstruktoren - Ein Konstruktor besitzt keinen Rückgabewert; auch nicht den Typ void. - Er darf nicht private sein. - Für globale Objekte wird der Konstruktor unmittelbar vor der Ausführung der main()- Funktion ausgeführt und bei lokalen Objekten an der Stelle, an der sie definiert werden. - Hat ein Konstruktor Parameter, werden diese bei der Definition des Objekts angegeben. CKonto konto2("mueller, Anna"); Seite 3 von 12

Standardkonstruktor - Ist für eine Klasse kein Konstruktor definiert, so hat sie einen parameterlosen Standardkonstruktor. CKonto(); - Auch der Aufruf des Standardkonstruktors erfolgt bei der Definition eines Objekts: CKonto konto1; Seite 4 von 12

Konstruktoren mit einem Parameter - Hat ein Konstruktor nur einen Parameter, kann die Initialisierung bei der Definition auch über eine Zuweisung erfolgen. - Der Aufruf erfolgt bei folgender Definition: CKonto konto2("mueller, Anna"); - Oder bei folgender Definition: CKonto konto2 = "Mueller, Anna"; Seite 5 von 12

Konstruktoren mit einem Parameter - Umgekehrt können auch einfache Datentypen (z.b. int) entsprechend der Konstruktor-Schreibweise initialisiert werden. - Der Aufruf erfolgt bei folgender Definition: int x = 4; - Oder: int x(4); // Runde Klammern! Seite 6 von 12

Konstruktoren mit mehr als einem Parameter - Bei der Definition eines Objekts können hinter dem Namen des Objekts Anfangswerte in Klammern angegeben werden: CKonto konto4("maier, Hans", 10002000, 1000.00); - Der Compiler ordnet dieser Initialisierungsliste einem Konstruktor mit gleicher Parameterliste zu: CKonto(string name, int nummer, double stand); => Bsp: CGirokonto Seite 7 von 12

Elementinitialisierer - Unter Verwendung von Elementinitialisierern kann statt der bisherigen Schreibweise: CKonto::CKonto(string name) { m_name = name; } - die Konstruktordefinition auch wie folgt geschrieben werden: CKonto::CKonto(string name) : m_name(name) { } Seite 8 von 12

Elementinitialisierer - Ein Elementinitialisierer wird nach der Parameterklammer der Konstruktor-Definition durch einen Doppelpunkt eingeleitet. - Nach dem Doppelpunkt werden die zu initialisierenden Eigenschaften aufgelistet, wobei die Initialwerte jeder Eigenschaft in runden Klammern angegeben werden. Seite 9 von 12

Destruktoren - Destruktoren werden am Ende des Gültigkeitsbereichs des Objekts automatisch aufgerufen (z.b. Blockende). - Bei globalen Objekten werden Destruktoren am Ende von main aufgerufen. - Der Name eines Destruktors beginnt mit dem Tilde-Zeichen ~ gefolgt von dem Namen der Klasse. - Ein Destruktor hat keine Parameter und liefert keinen Wert zurück. Er darf nicht im private Bereich einer Klasse liegen. CKonto::~CKonto() { } Seite 10 von 12

Aufruf von externen Funktionen in Methoden - Gibt es innerhalb der Klasse keine Methode mit dem gleichen Namen, erfolgt der Aufruf der Funktion wie gewohnt. - Gibt es innerhalb der Klasse eine Methode mit dem gleichen Namen wie die externe Funktion, wird die Klassen-Methode aufgerufen. - Um aber beispielsweise eine Funktion der Standardbibliothek aufzurufen, schreibt man std:: vor den Funktionsnamen. std::pow(x, y); Seite 11 von 12

Aufruf von externen Funktionen in Methoden - Handelt es sich bei der aufzurufenden Funktion um eine Funktion, die in keinem Namensbereich liegt z.b. Test(), wird einfach auf die Angaben des Namensbereichs verzichtet: z = ::Test(); Seite 12 von 12