Различные вопросы по PHP и MySQL

243K
.
Think different
Swank, Интерфейс - описание функционала класса. Просто набор методов, который должен предоставить класс, реализующий данный интерфейс.
Абстрактный класс - как по мне смесь интерфейса (тоже может описывать методы) и статики. Абстрактный класс можно вызвать только статически, объект создать нельзя.
.
# Folour (26.04.2015 / 17:32)
Абстрактный класс - как по мне смесь интерфейса (тоже может описывать методы) и статики. Абстрактный класс можно вызвать только статически, объект создать нельзя.
Бред. Отчасти.

Да, невозможно создать экземпляр абстрактного класса.
Абстрактный класс отличается от интерфейса лишь тем, что в нём можно реализовывать методы.
.
Think different
reaper, Ну я почти это и написал.
.
Сексуальность валенка
Может кто подкинуть статьей для изучееия абстракных классов и интерфейсов где написано не "заумным языком"
.
# Folour (26.04.2015 / 17:37)
reaper, Ну я почти это и написал.
Ты написал какой-то бред про статику, которая вообще не причём
.
# Swank (26.04.2015 / 17:42)
Может кто подкинуть статьей для изучееия абстракных классов и интерфейсов где написано не "заумным языком"
Да что их изучать? Это всё просто как две копейки. Другое дело научиться их применять там, где это действительно нужно.
.
Think different
reaper, Как не при чем? Все методы и свойства можно вызвать только статически
.
Сексуальность валенка
reaper, Я о абстракных классах только слыхал и не в одном языке их не юзал и даже не помню когда код с абстракными классами видел, мне вообще неизвестно как их используют.
Для меня не так уж и легко
.
Folour,

Попробую объяснить ещё раз.

В интерфейсе можно только объявить методы. Реализовывать нельзя. Они выступают гарантом, что у класса, их реализовывающего, будут методы, определённые в интерфейсе. Можно ещё просто определить пустой интерфейс и реализовать его. Ну не суть. Это всё детали.

Абстрактный класс. Отличается от обычного класса тем, что создать его экземпляр нельзя.
Так же, как и интерфейс, может содержать определения методов. Только в этом случае метод должен быть объявлен абстрактным.
Можно реализовать метод прямо в абстрактном классе и обращаться к нему так же, как и к методам обычного класса. Нужно только отнаследоваться от этого класса. В этом их отличие от интерфейсов.
К instance-методам и свойствам НЕЛЬЗЯ обращаться так, словно они статические.

Статические же методы и свойства могут быть определены как и в абстрактных, так и в обычных классах. Причём они здесь, я не понимаю.
.
Folour
Think different
reaper, Так бы и сразу
Всего: 7969