Kann man Klassen mit Funktionen in Scala schreiben, wie man es in Javascript macht?Ist es möglich, Klassen mit Funktionen in Scala zu schreiben?
Antwort
Können Sie eine beliebige Funktion als Konstruktor verwenden? Nein. Können Sie use closures as "poor man's objects"? Ja. Aber was man auf diese Weise bekommt, heißt in Scala keine Klasse.
Ja, ich verstehe. Eigentlich war meine Frage mit einem von Martin Oderskys Videovorträgen verbunden. Dort fragte er, ob es möglich ist, Objekte mit Funktionen höherer Ordnung zu implementieren. – Utsav
Jede Funktion ist unter der Haube mit "apply" Methode auf das Objekt optimiert. Also wird etwas wie 'def addOne (x: Int): Int = x + 1' als 'object addOne {def apply (x: Int): Int = x + 1}' behandelt. Bedenken Sie, dass dies sehr grob ist Beispiel. Auf diese Weise erreicht Scala Funktionen wie Objekte, aber ich bin mir nicht sicher, ob Sie danach fragen. – sebszyller
Was bedeutet "Klassen schreiben mit Funktionen"? – ipoteka
Wie in implementierenden Klassen und Objekten mit Funktionen und Schließungen. – Utsav
Sie können eine Klasse in Scala nur mit einer Eingabequelle wie einer Tastatur schreiben. –