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.