Sobes.tech
Junior — Middle

Da li treba da obezbedite implementaciju za metode interfejsa u njegovoj osnovnoj klasi?

sobes.tech АИ

Одговор од АИ

U Androidu (i uopšte u Java/Kotlin) interfejs definiše samo ugovor — skup metoda koje klasa mora da implementira. U klasama koje implementiraju interfejs, ove metode moraju biti implementirane.

Međutim, ako imate osnovnu klasu koja implementira interfejs, možete joj pružiti osnovnu implementaciju metoda interfejsa. Ovo je korisno ako više podklasa koristi istu logiku, kako bi se izbeglo dupliranje koda.

Na primer, u Javi možete uraditi ovako:

public interface MyInterface {
    void doSomething();
}

public abstract class BaseClass implements MyInterface {
    @Override
    public void doSomething() {
        System.out.println("Osnovna implementacija");
    }
}

public class ChildClass extends BaseClass {
    // Možete prepisati doSomething ili koristiti osnovnu implementaciju
}

Na ovaj način, pružanje implementacije metoda interfejsa u osnovnoj klasi može biti korisno i logično sa stanovišta arhitekture i ponovne upotrebe koda.