Pass values into a constructor when creating an object.

constructor A constructor receives the values needed to build an object.

Constructors

width
Constructors.kt
Replay: real traced execution (multi-file project)
class Rectangle(val width: Int, val height: Int)

fun main() {
    val width = 4
    val height = 3
    val rectangle = Rectangle(width, height)
    val area = rectangle.width * rectangle.height

    println("width=$width")
    println("area=$area")
}
class Rectangle(val width: Int, val height: Int)

fun main() {
    val width = 2
    val height = 3
    val rectangle = Rectangle(width, height)
    val area = rectangle.width * rectangle.height

    println("width=$width")
    println("area=$area")
}
class Rectangle(val width: Int, val height: Int)

fun main() {
    val width = 7
    val height = 3
    val rectangle = Rectangle(width, height)
    val area = rectangle.width * rectangle.height

    println("width=$width")
    println("area=$area")
}
  1. width ← 4, height ← 3, area ← 12

    3fun main() {4    val width→ 4 = 4 //@width=2, 75    val height→ 3 = 36    val rectangle = Rectangle(width4, height3)7    val area→ 12 = rectangle.width4 * rectangle.height389    println("width=$width4")10    println("area=$area12")11}
    outputwidth=4
    area=12
  1. width ← 2, height ← 3, area ← 6

    3fun main() {4    val width→ 2 = 25    val height→ 3 = 36    val rectangle = Rectangle(width2, height3)7    val area→ 6 = rectangle.width2 * rectangle.height389    println("width=$width2")10    println("area=$area6")11}
    outputwidth=2
    area=6
  1. width ← 7, height ← 3, area ← 21

    3fun main() {4    val width→ 7 = 75    val height→ 3 = 36    val rectangle = Rectangle(width7, height3)7    val area→ 21 = rectangle.width7 * rectangle.height389    println("width=$width7")10    println("area=$area21")11}
    outputwidth=7
    area=21