Object-oriented programming

Object-oriented programming examples

1class Person(val name: String)
2
3fun main() {
4    val p = Person("Alice")
5    println(p.name)
6}
1class Car(val model: String, var mileage: Int)
2
3fun main() {
4    val car = Car("Toyota", 10000)
5    car.mileage += 500
6    println(car.mileage)
7}
1open class Vehicle(val brand: String)
2
3class Bike(brand: String, val gears: Int) : Vehicle(brand)
4
5fun main() {
6    val bike = Bike("Giant", 21)
7    // ...
8}
1class Person(val name: String, private val ssn: String) {
2    fun maskedSSN() = "XXX-XX-${ssn.takeLast(4)}"
3}
4
5fun main() {
6    val p = Person("Bob", "123-45-6789")
7    // ...
8}
 1interface Discountable {
 2    val price: Double
 3    fun discountRate(): Double
 4    fun discountedPrice(): Double = price * (1 - discountRate())
 5}
 6
 7class Electronics(override val price: Double) : Discountable {
 8    override fun discountRate() = 0.1
 9}
10
11fun main() {
12    val laptop = Electronics(1000.0)
13    println(laptop.discountedPrice())
14}