в чем отличие интерфейсов (interface) от абстрактных классов

Benderlio

Новичок
в чем отличие интерфейсов (interface) от абстрактных классов

Добрый день, объясните пожалуйста на пальцах
в чем отличие интерфейсов (interface) от абстрактных классов
или ссылку где для новичков описано что к чему...
(гуглом искал, но что то не допонял )
спасибо.
 

Ltvjy

Новичок
В отличии от абстрактного класса интерфейс не может содержать ни реализации ни даных членов ни конструктора.
 

JOSS-PHP

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Krishna Я! Я тоже знаю! В атличии ат абстрактного класса интерфейс не может быть расширен!
А еще абстрактный класс может реализовать интерфейс, а интерфейс не может реализовать абстрактный класс.
Вобщем, абстрактный класс круче.
 

whirlwind

TDD infected, paranoid
> атличии ат абстрактного класса интерфейс не может быть расширен!

Садыс, два!

interface IMegatron extends IPositron,INeuron,IQuaternion {
function mySuppaDuppaMethod();
}
 

флоппик

promotor fidei
Команда форума
Партнер клуба
а интерфейс не может реализовать абстрактный класс.
интерфейс вообще никого не может реализовать, он интерфейс. И вообще, он нужен для сокрытия реализации.
Что бы не зная имплементации этого интерфейса можно было писать программу. И можно было бы в этой программе модифицировать реализацию, просто подсунув ему другой класс, реализующий этот интерфейс.

А абстрактный класс, это, грубо говоря, частичная реализация класса. Т.е. реализация базового класса, пригодного для наследования, с указанием, какие методы необходимо обязательно реализовать(переопределить) в потомке перед его инстанцированием.
 
Сверху