Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
28
Task/Inheritance-Multiple/Kotlin/inheritance-multiple.kotlin
Normal file
28
Task/Inheritance-Multiple/Kotlin/inheritance-multiple.kotlin
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
interface Camera {
|
||||
val numberOfLenses : Int
|
||||
}
|
||||
|
||||
interface MobilePhone {
|
||||
fun charge(n : Int) {
|
||||
if (n >= 0)
|
||||
battery_level = (battery_level + n).coerceAtMost(100)
|
||||
}
|
||||
|
||||
var battery_level : Int
|
||||
}
|
||||
|
||||
data class CameraPhone(override val numberOfLenses : Int = 1, override var battery_level: Int) : Camera, MobilePhone
|
||||
data class TwinLensCamera(override val numberOfLenses : Int = 2) : Camera
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val c = CameraPhone(1, 50)
|
||||
println(c)
|
||||
c.charge(35)
|
||||
println(c)
|
||||
c.charge(78)
|
||||
println(c)
|
||||
println(listOf(c.javaClass.superclass) + c.javaClass.interfaces)
|
||||
val c2 = TwinLensCamera()
|
||||
println(c2)
|
||||
println(listOf(c2.javaClass.superclass) + c2.javaClass.interfaces)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue