Sobes.tech
Junior — Middle

Обяснете концепцията за Marker Interface и как се използва в програмирането.

sobes.tech AI

Отговор от AI

Marker интерфейсът е интерфейс без методи и полета, който служи за маркиране или обозначаване на клас с определено свойство или поведение. В програмирането той се използва за предаване на метаданни за класа по време на компилация или изпълнение.

Например, в Java интерфейсът Serializable е маркер: той не съдържа методи, но неговата реализация казва на JVM, че обектите на класа могат да бъдат сериализирани.

Пример:

public interface Serializable {
    // Няма методи
}

public class User implements Serializable {
    private String name;
    private int age;
    // гетъри, сетъри и т.н.
}

Използването на Marker интерфейс позволява на рамки или библиотеки да проверяват наличието на интерфейса чрез instanceof и да изпълняват специални действия (например сериализация, клониране, сигурност).