Junior
Kotlinде бир класста бир нече куруучуларды кантип ишке ашыруу керек?
sobes.tech AI
AIден жооп
Kotlin'те бир нече конструктор түзүү үчүн негизги конструктор жана зарылчылык болсо, бир нече экинчи конструктор колдонулат.
Негизги конструктор түздөн-түз класс башталышында жарыяланат:
class MyClass(primaryParam1: String, primaryParam2: Int) {
// Класс мүчөсү
}
Экинчи конструкторлор constructor ачкыч сөзү аркылуу жарыяланат:
class MyClass {
// Негизги конструктор (жарашыктуу же ачык)
constructor(param1: String) {
// Экинчи конструктордун логикасы 1
}
constructor(param1: String, param2: Int) {
// Экинчи конструктордун логикасы 2
}
}
Эгер класс негизги конструктор менен түзүлсө, ар бир экинчи конструктор негизги конструкторго делегирлеши керек, this() ачкыч сөзү аркылуу:
class MyClass(primaryParam: String) {
constructor(secondaryParam: Int) : this(secondaryParam.toString()) {
// Экинчи конструктордун логикасы
}
}
Ошондой эле, бир нече экинчи конструкторлор болушу мүмкүн, алар негизги конструкторго же башка экинчи конструкторлорго делегирлеши мүмкүн (делегирлөө тартибин сактоо менен):
class MyClass(primaryParam: String) {
constructor(param1: String, param2: Int) : this(param1) {
// Экинчи конструктордун логикасы 1
}
constructor(param1: String, param2: Int, param3: Boolean) : this(param1, param2) {
// Экинчи конструктордун логикасы 2
}
}
Маанилүү учурлар:
- Негизги конструктордун денеси экинчи конструкторлордун денесинен мурда ишке ашат.
- Негизги конструктордун башталышында жарыяланган мүчөлөр экинчи конструкторлордо жеткиликтүү.
- Kotlin'те негизги конструкторду колдонуу сунушталат жана мүмкүн болсо, экинчи конструкторлордон качуу, ордуна аталыштуу аргументтер же фабрика ыкмаларын колдонуу жакшыраак.