Junior
Kotlin-də adi və genişləndirici metodlar arasında fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Adi üsul — sinf daxilində elan olunan funksiya.
Genişləndirici üsul — sinfdən kənarda elan olunan, lakin onun üzvü kimi hərəkət edən funksiya. Genişləndirici üsul elan edilərkən, ona tətbiq olunan qəbul edən sinfin adı göstərilir.
// Adi üsul
class MyClass {
fun myMethod() {
// üsulun həyata keçirilməsi
}
}
// Genişləndirici üsul
fun String.removeVowels(): String {
// üsulun həyata keçirilməsi
}
fun main() {
val myObject = MyClass()
myObject.myMethod() // Adi üsulu çağırış
val myString = "Hello"
val stringWithoutVowels = myString.removeVowels() // Genişləndirici üsul çağırış
}
Əsas fərqlər:
- Elan: Adi üsullar sinf daxilində elan edilir, genişləndirici üsullar isə xaricdə.
- Sinf üzvlərinə giriş: Adi üsullar
privatevəprotectedüzvlərə birbaşa giriş imkanı verir. Genişləndirici üsullarprivatevəprotectedüzvlərə birbaşa girişə malik deyil. this: Adi üsulda,thissinifin nümunəsinə istinad edir. Genişləndirici üsulda,thisçağırılan genişləndirmə üçün qəbul edən obyekt nümunəsinə istinad edir.- Miras: Adi üsullar alt siniflərdə yenidən yaza bilər. Genişləndirici üsullar miras alınmır və yenidən yaza bilməz.
- İcra: Adi üsullar sinifin icra hissəsinin bir hissəsidir. Genişləndirici üsullar ayrıca icra edilir və ilkin sinfi dəyişmir.
Genişləndirici üsullar mövcud sinflərə funksionallıq əlavə etmək üçün faydalıdır, məsələn, xarici kitabxanalardan və ya Kotlin-in standart kitabxanasından sinflərə.