Sobes.tech
Junior — Middle

Mali by ste poskytnúť implementáciu pre metódy rozhrania vo svojej základnej triede?

sobes.tech AI

Odpoveď od AI

V Androide (a všeobecne v Java/Kotlin) rozhranie definuje iba zmluvu — súbor metód, ktoré musia byť implementované triedou. V triedach, ktoré implementujú rozhranie, tieto metódy musia byť implementované.

Avšak, ak máte základnú triedu, ktorá implementuje rozhranie, môžete v nej poskytnúť základnú implementáciu metód rozhrania. To je užitočné, ak niekoľko podtried bude používať rovnakú logiku, aby sa predišlo duplikácii kódu.

Napríklad v Jave to môžete urobiť takto:

public interface MyInterface {
    void doSomething();
}

public abstract class BaseClass implements MyInterface {
    @Override
    public void doSomething() {
        System.out.println("Základná implementácia");
    }
}

public class ChildClass extends BaseClass {
    // Môžete prepísať doSomething alebo použiť základnú implementáciu
}

Týmto spôsobom môže byť poskytnutie implementácie metód rozhrania v základnej triede užitočné a logické z pohľadu architektúry a opakovania kódu.