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 ή να χρησιμοποιήσετε την βασική υλοποίηση
}

Έτσι, η παροχή μιας υλοποίησης των μεθόδων της διεπαφής στην βασική κλάση μπορεί να είναι χρήσιμη και λογική από την άποψη της αρχιτεκτονικής και της επανάχρησης κώδικα.