2016-07-18 17 views
-5

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?

+1

Was bedeutet "Klassen schreiben mit Funktionen"? – ipoteka

+0

Wie in implementierenden Klassen und Objekten mit Funktionen und Schließungen. – Utsav

+3

Sie können eine Klasse in Scala nur mit einer Eingabequelle wie einer Tastatur schreiben. –

Antwort

0

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.

+0

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

+0

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