Fachkonzept - Hauptprogramm
Ein Programm starten
Wenn wir in BlueJ verschiedene Klassen definiert haben, wollen wir irgendwann ein Programm starten, das diese Klassen nutzt. Ansonsten müssten wir jedes Mal einzeln Objekte per Mausklick erzeugen und deren Methoden aufrufen – das wäre sehr umständlich.
In Kotlin legen wir dafür eine spezielle Funktion namens main an.
Diese Funktion ist der Startpunkt des Programms.
Theoretisch könnten wir die Funktion in BlueJ auch anders nennen,
aber main ist der Standardname, den alle Kotlin-Programme
verwenden.
fun main() {
print("Blackjack")
}
Werte im Hauptprogramm speichern
In einem Hauptprogramm möchten wir Werte häufig nicht nur sofort
verwenden, sondern später noch einmal benötigen. Dazu geben wir ihnen mit
einer Variablen einen Namen. Zum Beispiel
speichert karte ein Karten-Objekt und wert den
berechneten Blackjack-Wert:
fun main() {
val karte = Karte("Herz", "Dame")
val wert = karte.berechneWert()
print(wert)
}
Mit val wird eine Konstante
angelegt: Der gespeicherte Wert darf später nicht ersetzt werden. Mit
var legst du eine veränderliche Variable an, deren Wert sich
später ändern darf:
var ausgabe = "noch offen"
ausgabe = "fertig"
Verwende val, wenn ein Wert nicht verändert werden soll, und
var nur dann, wenn eine spätere Änderung tatsächlich nötig ist.
Die main-Funktion kann theoretisch irgendwo im Projekt
definiert werden.
Kotlin erlaub prinzipiell, dass Dateien Funktionen und Klassen enthalten.
Empfehlenswert ist es aber, sie in einer eigenen Datei zu platzieren, die
wir z.B. Hauptprogramm oder Main nennen.
In BlueJ ist das eine feste Vorgabe, während es in anderen Kotlin-Entwicklunsumgebungen
prinzipiell erlaubt wäre.
main-Funktion.
An dieser Stelle verlassen wir die Objektorientierung, da
die main-Funktion nicht zu einer Klasse gehört.
Auf inf-schule.de nutzen wir an einigen Stellen eine Online-Version von Kotlin, in der wir Hauptprogramme online ausführen können:
fun main() {
print("Blackjack")
}
Um die Beispiele möglichst übersichtlich zu gestalten,
blenden wir in der Online-Version teilweise die
main-Funktion aus:
fun main() {
print("Blackjack")
}
Wenn du die Beispiele in BlueJ oder anderen Entwicklungsumgebungen schreibst,
musst du die main-Funktion immer mit anlegen.