3
A
回答
5
Scala是一種靜態語言,因此所有的代碼應該在編譯時存在。但是,您可以使用Pimp-My-Library方法來模擬python功能,以將方法添加到現有類中,而無需修改類本身。但是,您無法更改現有的方法。例如:
class Foo(val i: Int)
class RichFoo(f: Foo) {
def prettyPrint = "Foo(" + i + ")"
}
implicit def enrichFoo(f: Foo) = new RichFoo(f)
val foo = new Foo(667)
println(foo.prettyPrint) // Outputs "Foo(667)"
4
你可以做
class Class {
var method =() => println("Hey, a method (actually, a function bound to a var)")
}
val instance = new Class()
instance.method()
// Hey, a method (actually, a function bound to a var)
val new_method =() => println("New function")
instance.method = new_method
instance.method()
// New function
方法本身不能改變的實例被創建之後。
相關問題
- 1. 可以在Scala中創建Sized類型嗎?
- 2. 您可以在創建後修改現有的mysql觸發器嗎?
- 3. 如果std :: string從未被修改過,它可以在創建後移動嗎?
- 4. 可以修改artisan migrate命令創建的模板嗎?
- 5. 可以在xcode中創建項目後更改模板嗎?
- 6. 可以在創建ssrs報告後更改數據源嗎?
- 7. CosmosDB DocumentCollection可以在創建後更改分區鍵嗎?
- 8. 可以修改jQuery庫嗎?
- 9. 可以修改rt.jar嗎?
- 10. 可以修改TWTweetComposeViewController嗎?
- 11. 我們可以在創建新對象時改變類名嗎?
- 12. Scala類可以擴展多個類嗎?
- 13. 我可以使用for-comprehenion/yield在Scala中創建地圖嗎?
- 14. 創建後可以移動圖形嗎?
- 15. 我可以創建一個可以修改用戶界面的線程嗎?我可以放棄嗎?
- 16. Wordpress在post創建後修改postmeta
- 17. 在JavaScript中,是否可以創建一個可修改的靜態類變量?
- 18. 創建後可以改變淘汰節流閥擴展器嗎?
- 19. 我可以在分類Perl 6列表時修改值嗎?
- 20. 從不可修改的集創建不可修改的集
- 21. 可以使用Akka(Scala)創建異步持久服務器嗎?
- 22. 創建後,我可以創建一個X11窗口OpenGL嗎?
- 23. Scala:我可以用工廠方法重現匿名類的創建嗎?
- 24. 是否可以在構建之後修改Django Q()對象?
- 25. @classmethod是否可以修改它在GAE中創建的記錄?
- 26. 可以在Linq-to-Objects中創建新的類型類嗎?
- 27. 可以修改一個結構嗎?
- 28. 可以修改Quickblox android sdk嗎?
- 29. Mozilla的pdf.js可以修改PDF嗎?
- 30. 可以修改UIScrollView的減速率嗎?
繼承? :) – tuxSlayer