3
A
답변
5
스칼라는 정적 언어이므로 모든 코드가 컴파일 타임에 존재해야합니다. 그러나 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. 자바의 자바 인터페이스를 구현하는 스칼라 클래스를 사용할 수 있습니까?
- 2. ReportDocument 클래스를 통해 보고서에서 서식을 수정할 수 있습니까?
- 3. JAXB에서 제네릭 클래스를 생성 할 수 있습니까?
- 4. 사과에 aproval을 제출 한 후 iphone 앱을 수정할 수 있습니까?
- 5. 스칼라 "match"문에서 클래스를 어떻게 대응시킬 수 있습니까?
- 6. Perl에서받은 소켓 메시지를 어떻게 수정할 수 있습니까?
- 7. 이것으로 datagridview를 수정할 수 있습니까?
- 8. foreach 아키텍처를 수정할 수 있습니까?
- 9. 파일에서 행을 수정할 수 있습니까?
- 10. RoR CRUD 동작을 수정할 수 있습니까?
- 11. 스칼라 일반 클래스를 지원하는 기능
- 12. 특정 메뉴에 대한 theme_menu_link를 수정할 수 있습니까?
- 13. .NET에서 런타임시 메서드 본문을 수정할 수 있습니까?
- 14. 외부 범위 용 스칼라 생성
- 15. 서브 루틴 참조에 전달 된 스칼라 참조를 어떻게 수정할 수 있습니까?
- 16. IDE에서 Maven을 사용하여 Java에서 Scala 클래스를 확인할 수 있습니까?
- 17. 패널의 어린이 폭을 수정할 수 있습니까?
- 18. 다른 프로세스의 UID를 수정할 수 있습니까?
- 19. 이맥스 미니 버퍼의 색상을 수정할 수 있습니까?
- 20. 메모리의 MSI는 어떻게 수정할 수 있습니까?
- 21. 전달하기 전에 va_list를 수정할 수 있습니까?
- 22. VS2008 IDE에서 CPU 레지스터를 수정할 수 있습니까?
- 23. 어떻게 Settings.bundle을 실시간으로 수정할 수 있습니까?
- 24. Vim에서 어디서 파일을 수정할 수 있습니까?
- 25. 어쨌든 이클립스에서 키보드 단축키를 수정할 수 있습니까?
- 26. setting.setting 파일에서 값을 수정할 수 있습니까?
- 27. int 0x80 루틴을 수정할 수 있습니까?
- 28. https 헤더를 어떻게 수정할 수 있습니까?
- 29. Perl에서 $ 0 값을 어떻게 수정할 수 있습니까?
- 30. 디스플레이의 원점을 수정할 수 있습니까? (win32)
상속? :) – tuxSlayer