Klassen

Eine Klasse ist in Operno eine Gruppe aus Funktionen und statischen Variablen. Somit ist eine Klasse mit all ihren Methoden und Attributen zur Laufzeit modifizierbar.

Grundgerüst

Der Name der Gruppe bestimmt den Namen der Klasse. Alle weiteren Unterobjekte sind für jedes Objekt der jeweiligen Klasse bekannt und können durch ":" angesprochen werden. Darunter gehören einige Klassenmethoden, die zu bestimmten Ereignissen automatisch aufgerufen werden.

Beispiel:

person{ 'Kopf der Klasse
  say hello(){ 'Eigene Klassenmethode
    out "Hello, I am #(name)!"
  }
  
  _new(){ 'Konstruktor
    this\name.s
    this\age.i
  }
  _def(name.s, age.i){ 'Sofortdefinition
    this\name = name
    this\age  = age
  }
}

Instanz-Objekte

Die Referenz "this" ist eine Gruppe aus Instanz-Objekten. Meist werden neue Instanz-Objekte im Konstruktor ("_new") definiert. Ein Objekt kann durch "\" auf dessen Instanz-Objekte zugreifen. Falls die Instanz-Objekte als eine Gruppe behandelt werden sollen, kann man auch ein Slash ohne einen nachfolgenden Bezeichner angeben.

In jeder Klassenmethode sind die Instanz-Objekt mit im Namensraum eingebunden. Man muss also beim Zugriff kein "this\" verwenden.

Beispiel:

myself.person
myself\name = "Josef"
myself\age  = 16

myself:say hello 'Gibt "Hello, I am Josef!" aus

Top | Home | Index