Skip to content

Instantly share code, notes, and snippets.

View CheolhoJeon's full-sized avatar
🙏

Cheolho Jeon CheolhoJeon

🙏
View GitHub Profile
package chap5.CompanionObjects
import atomictest.eq
class WithObjectProperty {
companion object {
private var n: Int = 0 // Only one
}
fun increment() = ++n
}
package chap5.CompanionObjects
import atomictest.eq
class WithNamed {
companion object Named {
fun s() = "from Named"
}
}
package chap5.CompanionObjects
import atomictest.eq
class WithCompanion {
companion object {
val i = 3
fun f() = i * 3
}
fun g() = i + f()
package chap5.Object
import atomictest.eq
object Outer {
object Nested {
val a = "Outer.Nested.a"
}
}
package chap5.Object.objectshare2
import atomictest.eq
import chap5.Object.objectshare1.f
import chap5.Object.objectsharing.Shared
fun g() {
Shared.i += 7
}
package chap5.Object.objectshare1
import chap5.Object.objectsharing.Shared
fun f() {
Shared.i += 5
}
package chap5.Object.objectsharing
object Shared {
var i: Int = 0
}
package chap5.Object.objectsharing
object Shared {
var i: Int = 0
}
package chap5.Object
import atomictest.eq
open class Paint(val color: String) {
open fun apply() = "Applying $color"
}
object Acrylic: Paint("Blue") {
override fun apply() = "Acrylic, ${super.apply()}"
package chap5.Object
import atomictest.eq
object JustOne {
val n = 2
fun f() = n * 10
fun g() = this.n * 20 // [1]
}