Sobes.tech
Middle

Μπορούν οι διεπαφές να έχουν μεθόδους με ή χωρίς υλοποίηση;

sobes.tech AI

Απάντηση από AI

Στα κλασικά interfaces, για παράδειγμα στη Java μέχρι την έκδοση 8, οι μέθοδοι δεν μπορούν να έχουν υλοποίηση — δηλώνονται μόνο και η υλοποίηση παρέχεται στις κλάσεις που υλοποιούν αυτό το interface.

Από την Java 8 και μετά, εισήχθησαν μέθοδοι με υλοποίηση στα interfaces — οι λεγόμενες default μέθοδοι. Αυτές επιτρέπουν τον ορισμό μιας προεπιλεγμένης υλοποίησης που μπορεί να υπερισχύσει στις κλάσεις.

Παράδειγμα:

public interface MyInterface {
    void abstractMethod(); // χωρίς υλοποίηση

    default void defaultMethod() {
        System.out.println("Προεπιλεγμένη υλοποίηση");
    }
}

Έτσι, τα interfaces μπορούν να περιέχουν τόσο αφηρημένες μεθόδους χωρίς υλοποίηση όσο και με υλοποίηση (default, static). Αυτό διευρύνει τις δυνατότητες των interfaces και απλοποιεί την εξέλιξη των API.