Interfeysning metodlari uchun bazaviy sinfda amalga oshirishni taqdim qilish kerakmi?
sobes.tech AI
AIdan javob
Androidda (va umumiy holda Java/Kotlin'da) interfeys faqat shartnoma — sinf tomonidan amalga oshirilishi kerak bo'lgan metodlar to'plamini belgilaydi. Interfeysni amalga oshiradigan sinflarda, bu metodlar amalga oshirilishi kerak.
Ammo, agar sizda interfeysni amalga oshiradigan asosiy sinf bo'lsa, siz unga interfeys metodlarining asosiy amalga oshirishini taqdim qilishingiz mumkin. Bu, bir nechta voris sinflar bir xil mantiqni ishlatishi uchun foydalidir, shuningdek, kod takrorlanishini oldini oladi.
Masalan, Java'da quyidagicha qilish mumkin:
public interface MyInterface {
void doSomething();
}
public abstract class BaseClass implements MyInterface {
@Override
public void doSomething() {
System.out.println("Asosiy amalga oshirish");
}
}
public class ChildClass extends BaseClass {
// doSomething ni qayta yozish yoki asosiy amalga oshirishni ishlatish mumkin
}
Shunday qilib, interfeys metodlarining amalga oshirilishini asosiy sinfda taqdim qilish, arxitektura va kodni qayta ishlatish nuqtai nazaridan foydali va mantiqiy bo'lishi mumkin.