Member 13839052 Ответов: 1

Как работает метод add интерфейса списка, когда для него нет тела? Где определяется метод add интерфейса списка?


как работает метод add интерфейса списка, когда для него нет тела? где определяется метод add интерфейса списка?

Что я уже пробовал:

как работает метод add интерфейса списка, когда для него нет тела? где определяется метод add интерфейса списка?

1 Ответов

Рейтинг:
2

OriginalGriff

List - это интерфейс, а не класс, и поэтому он не может определить тело какого-либо метода-он определяет сигнатуры методов (то, что методы должны вводить и выводить), но не может определить какую-либо реализацию кода. Когда конкретный класс добавляет интерфейс, он должен предоставить реализации всех сигнатур методов, которые были определены определением интерфейса.

Аналогично, вы не можете создать экземпляр интерфейса - вы можете создать только экземпляры классов, реализующих интерфейс. Но вы можете объявить переменную типа интерфейса, и она может содержать любой объект, который реализует этот интерфейс.
При попытке использовать метод Add платформа определяет, какой тип объекта находится в переменной во время выполнения, и вызывает соответствующую версию метода Add, которая была определена в этом классе.