Объект против сопутствующего объекта в классе - PullRequest
0 голосов
/ 06 февраля 2019

Чем отличается Factory от Factory2?Кажется, они оба делают одно и то же.

data class Car(val horsepowers: Int) {
companion object Factory {
    val cars = mutableListOf<Car>()

    fun makeCar(horsepowers: Int): Car {
        val car = Car(horsepowers)
        cars.add(car)
        return car
    }
}
object Factory2 {
    val cars = mutableListOf<Car>()
    fun makeCar(horsepowers: Int): Car {
        val car = Car(horsepowers)
        cars.add(car)
        return car
    }
}
}

1 Ответ

0 голосов
/ 06 февраля 2019

Сопутствующий объект - это определенный тип объявления объекта, который позволяет объекту действовать подобно статическим объектам в других языках (таких как Java).Добавление компаньона к объявлению объекта позволяет добавить «статическую» функциональность к объекту, даже если фактическая статическая концепция не существует в Kotlin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...