Functions and formatted printing of time and date for RTC8563

Dependencies:   mbed

Methoden

Inhalt

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.
  • 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 Parameter auflisten.
  • Die Objektvariable (karel in Zeile 3 instanziiert) wird mit der Methode durch den Punkt verbunden (Zeile 5).

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
}

Konstruktor


All wikipages