Middle
შესაძლებელია თუ არა ინტერფეისებს ჰქონდეთ მეთოდები რეალიზაციით ან გარეშე?
sobes.tech AI
პასუხი AI-სგან
კლასიკური ინტერფეისებში, მაგალითად Java-მდე 8-ის ვერსიამდე, მეთოდებს არ შეუძლიათ ჰქონდეთ რეალიზაცია — ისინი მხოლოდ გამოაცხადებენ, ხოლო რეალიზაცია უზრუნველყოფილია იმ კლასებში, რომლებიც ამ ინტერფეისს ახორციელებენ.
Java 8-დან მოყოლებული, ინტერფეისებში გამოჩნდა რეალიზაციით მეთოდები — default მეთოდები. ისინი საშუალებას იძლევიან განსაზღვრონ სტანდარტული რეალიზაცია, რომელიც შეიძლება გადაწერილ იქნას კლასებში.
მაგალითი:
public interface MyInterface {
void abstractMethod(); // გარეშე რეალიზაცია
default void defaultMethod() {
System.out.println("სტანდარტული რეალიზაცია");
}
}
ამ გზით, ინტერფეისები შეიძლება შეიცავდეს როგორც აბსტრაქტულ მეთოდებს გარეშე რეალიზაციით, ასევე რეალიზაციით (default, static). ეს ზრდის ინტერფეისების შესაძლებლობებს და ამარტივებს API-ების განვითარებას.