Typ mit Funktionen
Im Haupt-Block eines Typs lassen sich ebenso Funktionen definieren, mit denen das Objekt zum Leben erweckt wird.
Die folgenden Funktions-Definitionen sind eingerückt und befinden sich somit nicht mehr auf der "Root"-Ebene, sondern in der Ebene von "Bus".
::Bus
Print "Brumm"
::drive
Print "Drivin drivin"
::horn
Print "Möööp"
::brake
Print "Quiiitsch"
Nun existiert ein Bauplan für einen Bus, von dem verschiedene Modelle gebaut (initiiert) und damit interagiert werden kann:
a = Bus
a.drive
a.honk
a.brake
Hier wird ein "Bus" erstellt und der Variable "a" zugewiesen. Anschließend werden die einzelnen Funktionen aufgerufen. Der Aufruf von ...
Bus.drive
Bus.honk
Bus.brake
... würde in jeder Zeile eine neue Bus-Instanz erzeugen. Somit würden 3 Busse existieren: ein Bus zum Fahren, einer zum Hupen und ein Bus zum Bremsen. 😂
Ebenso wird jedes Mal "Brumm" ausgegeben.