FSST - Hardwarenahe Programmierung

Methoden

Table of Contents

  1. Methoden überladen

Inhalt

Inhalt C++

Die Methoden:

  • beschreiben das Verhalten eines Objekts.
  • beschreiben eine Schnittstelle nach außen.
  • lesen oder verändern die Werte der Membervariablen.
  • werden nur einmal für die Klasse im Speicher angelegt.

in der Projektbeschreibung sind Methoden meist Verben: Das rote Auto wird „gekauft“.

Methoden beschreiben eine Zustandsänderung: Wenn die Ampel gelb ist, wird die Geschwindigkeit des Autos „vermindert“. Die Schranke wird „geschlossen“.

Methoden deklarieren und definieren
Methoden können in einer Klasse als Prototype deklariert oder gleich definiert werden, wobei

  • Inline in der Klassendeklaration
    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.
    • Nachteil: Bei jeder Instanziierung wird für die Methode neuer Speicher alloziert.
  • Ausserhalb der Klassendeklaration
    • Die Klasse und der Methodennamen sind durch zwei Doppelpunkte getrennt (Scope-Operator). Zwischen den zwei Doppelpunkten soll kein Leerzeichen stehen.
    • Dem Methodennamen folgt die Parameterliste. In der Parameterliste werden die Eingabeparameter für die Methode, getrennt durch Kommata, aufgelistet
  • In separaten Dateien
    • Klassendeklaration und Methodenprototyping erfolgen in einer Header-Datei (.h)
    • Methodendefinition in der Source-Datei (.cpp)
    • der Name der Dateien sollte der Klassenname sein.

Methoden aufrufen

  • Methoden werden mit ihren Namen typischerweise im main() Programm (siehe unten) aufgerufen.
  • Die Parameterliste kann leer sein oder die zu übergebenen aktuellen Parameter auflisten.
  • Die Objektvariable (date in Zeile 3 instanziiert) wird mit der Methode durch den Punkt verbunden (Zeile 4).

int main()
{
	Date date;    // Objektvariable date der Instanz der Klasse Date
	printf("Day: %d", date.GetDay());  // Methodenaufruf von GetDay aus der Klasse Date der Instanz date
}

Methoden überladen

C++ bietet den Luxus, dass Methoden nicht anders benannt werden müssen, nur weil sie andere Aufrufparameter hat. Der Compiler verbindet die zu den Aufrufparametern passende Methoden mit dem entsprechenden Aufruf. Methoden werden auf Grund der Parametertypen, aber nicht anhand des Rückgabetyps (return type) unterschieden.

(Siehe auch Konstruktor überladen).

Konstruktor

Übungen Überladen von Methoden und Konstruktor

Blinky Codes 1

Date Codes 1


All wikipages