Guest User

Untitled

a guest
Jun 24th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. import kotlin.reflect.KProperty
  2.  
  3. data class User(val id: Int, val name: String)
  4.  
  5. class PropertyTransfer {
  6. var _user: User? = null
  7. var user: User? by object {
  8. operator fun getValue(thisRef: PropertyTransfer, property: KProperty<*>): User? {
  9. println("${property.name}がgetされました")
  10. return _user
  11. }
  12.  
  13. operator fun setValue(thisRef: PropertyTransfer, property: KProperty<*>, userValue: User?) {
  14. _user = userValue
  15. println("${property.name}に${userValue}がsetされました")
  16. println("${_user?.id}")
  17. println("${_user?.name}")
  18. }
  19. }
  20. }
  21.  
  22. fun main(args: Array<String>) {
  23. val propertyTransfer = PropertyTransfer()
  24. println(propertyTransfer.user)
  25. val userSetup = User(1, "太郎")
  26. propertyTransfer.user = userSetup
  27. println(propertyTransfer.user)
  28. }
Add Comment
Please, Sign In to add comment