Sobes.tech
Junior — Middle

Оё бояд дар синфи асосии худ барои усулҳои интерфейс иҷроиш пешниҳод кунед?

sobes.tech AI

Ҷавоб аз AI

Дар Android (ва умумӣ Java/Kotlin) интерфейс танҳо шартнома муайян мекунад — маҷмӯи методҳо, ки бояд дар класи амалишавӣ шаванд. Дар синфҳое, ки интерфейсро амалишавӣ мекунанд, ин методҳо бояд амалишавӣ шаванд.

Аммо, агар шумо як синфи асосӣ дошта бошед, ки интерфейсро амалишавӣ мекунад, шумо метавонед дар он амалишавии асосии методҳои интерфейсро пешниҳод кунед. Ин барои он муфид аст, агар чандин субсинфҳо логикаи якхела истифода баранд, то такрори коди иловагӣ пешгирӣ шавад.

Масалан, дар Java шумо метавонед чунин кунед:

public interface MyInterface {
    void doSomething();
}

public abstract class BaseClass implements MyInterface {
    @Override
    public void doSomething() {
        System.out.println("Амалӣ кардани асосӣ");
    }
}

public class ChildClass extends BaseClass {
    // Шумо метавонед doSomething-ро иваз кунед ё истифодаи амалишавии асосиро
}

Бинобар ин, пешниҳод кардани амалишавии методҳои интерфейс дар синфи асосӣ метавонад муфид ва мантиқӣ аз нуқтаи назари меъморӣ ва такрори коди бошад.