Buffl

set 3Module

TI
by Tim I.

Отличия интерфейса от абстрактного класса? (5 отличий)



разница между Абстрактным классом и интерфейсом

Абстракный класс

1. возможность содержать неопределенные переменные

может содержать пустые и заполненые переменные

Интерфейс

1.только явно определенные final static КОНСТАНТЫ

Абстракный класс

2. реализация методов

может содержать готовые и абстрактные методы,

обязательно реализуемые в классе наследнике

Интерфейс

2.

может содержать только пустые методы, которые обязательно

реализовывать в реализующем классе (либо методы default)

Абстрактный класс

3. наследование и реализация

наследуется только один абстрактный класс

Интерфейс

3. можно реализовывать множество интерфейсов , с возможностью

использования в них полей с одинаковым именем переменных

Абстрактный класс

4. Может наследовать другой класс и реализовывать другой интерфейс

Интерфейс

4. Интерфейс может расширять другой интерфейс, но не может наследовать класс.

Абстрактный класс

5. Поля могут использоваться только после создания экземпляра класса-наследника

Интерфейс

5. Поля могут использоваться в реализующих классах без создания экземпляра, т.к все поля интерфейса КОНСТАНТЫ



Перегрузка vs Переопределение


1.Переопределение реализует полиморфизм времени выполнения, в то время как перегрузка реализует полиморфизм времени компиляции.

2. Переопределение метода происходит между суперклассом и подклассом. Перегрузка происходит между методами одного и того же класса.                 

3. Переопределяющие методы имеют одинаковую сигнатуру, т. е. одинаковое имя и аргументы метода. Имена перегруженных методов одинаковы, но параметры разные.

4. При перегрузке вызываемый метод определяется во время компиляции. При переопределении вызов метода определяется во время выполнения на основе типа объекта.

5. Если переопределение прерывается, это может вызвать серьезные проблемы в нашей программе, потому что эффект будет виден во время выполнения. В то время как если перегрузка прервется, возникнет ошибка во время компиляции, и ее легко исправить.


Author

Tim I.

Information

Last changed