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-ро иваз кунед ё истифодаи амалишавии асосиро
}
Бинобар ин, пешниҳод кардани амалишавии методҳои интерфейс дар синфи асосӣ метавонад муфид ва мантиқӣ аз нуқтаи назари меъморӣ ва такрори коди бошад.