Java və Kotlin-də abstrakt metod arasında nə fərq var?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da abstrakt metod, abstrakt sinifda elan edilir və tətbiqi olmadan olur. Abstrakt metodun yerləşdiyi sinif abstract elan edilməlidir və bütün irəli gələnlər bu metodu tətbiq etməlidirlər, əgər onlar abstrakt deyilsə.
Kotlin-də, abstrakt metodlar da abstrakt siniflərdə elan edilir, amma vacib bir fərq var: Kotlin-də, abstrakt siniflərdə (open və ya abstract) tətbiqi ilə metodlar elan etmək mümkündür və interfeyslər də tətbiqi ilə metodlar (default metodlar) içərə bilər. Kotlin-də abstrakt metod, gövdəsi olmayan və alt siniflərdə yenidən təyin edilməli olan metoddur.
Kotlin nümunəsi:
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Sleeping")
}
}
Burada, makeSound abstrakt metoddur, sleep isə tətbiqi ilə metoddur.
Nəticədə, fərq odur ki, Kotlin, abstrakt siniflərdə və interfeyslərdə tətbiqi ilə metodların təyinində daha çevikdir, Java isə tələb edir ki, abstrakt metodlar tətbiqi olmadan olsun və default metodlar ilə abstrakt siniflərdə və ya interfeyslərdə yerləşsin.