Junior
Kotlinдеги адаттагы жана кеңейтүү ыкмаларынын айырмасы эмнеде?
sobes.tech AI
AIден жооп
Жалпы метод — класс ичинде жарыяланган функция.
Кеңейтүү методу — класс сыртында жарыяланган, бирок анын мүчөсү катары иштейт. Кеңейтүү методун жарыялаганда, ал колдонулган кабыл алуучу класстын аты көрсөтүлөт.
// Жалпы метод
class MyClass {
fun myMethod() {
// методтун ишке ашырылышы
}
}
// Кеңейтүү методу
fun String.removeVowels(): String {
// методтун ишке ашырылышы
}
fun main() {
val myObject = MyClass()
myObject.myMethod() // Жалпы методду чакыруу
val myString = "Hello"
val stringWithoutVowels = myString.removeVowels() // Кеңейтүү методун чакыруу
}
Негизги айырмачылыктар:
- Жарыялоо: Жалпы методдор класс ичинде жарыяланат, кеңейтүү методдор — тышкы жакта.
- Класс мүчөлөрүнө кирүү: Жалпы методдор
privateжанаprotectedмүчөлөргө түз кирүүгө ээ. Кеңейтүү методдорprivateжанаprotectedмүчөлөргө түз кире албайт. this: Жалпы методдо,this— метод жарыяланган классинин экземплярга шилтеме кылат. Кеңейтүү методдо,this— кеңейтүү чакырылган кабыл алуучу объекттин экземплярга шилтеме кылат.- Мурас алуу: Жалпы методдор подклассларда кайра аныктала алат. Кеңейтүү методдор мурас албайт жана кайра аныктала албайт.
- Ишке ашыруу: Жалпы методдор класс ишке ашырылышына кирет. Кеңейтүү методдор өзүнчө ишке ашырылат жана оригиналдуу классты өзгөртпөйт.
Кеңейтүү методдор бар класстарга функционалдуулук кошуу үчүн пайдалуу, мисалы, сырткы китепканалардын класстарына же Kotlin стандарттык китепканасына.