Swank, Интерфейс - описание функционала класса. Просто набор методов, который должен предоставить класс, реализующий данный интерфейс.
Абстрактный класс - как по мне смесь интерфейса (тоже может описывать методы) и статики. Абстрактный класс можно вызвать только статически, объект создать нельзя.
# Folour (26.04.2015 / 17:32)
Абстрактный класс - как по мне смесь интерфейса (тоже может описывать методы) и статики. Абстрактный класс можно вызвать только статически, объект создать нельзя.
Бред. Отчасти.
Да, невозможно создать экземпляр абстрактного класса.
Абстрактный класс отличается от интерфейса лишь тем, что в нём можно реализовывать методы.
reaper, Ну я почти это и написал.
Может кто подкинуть статьей для изучееия абстракных классов и интерфейсов где написано не "заумным языком"
# Folour (26.04.2015 / 17:37)
reaper, Ну я почти это и написал.
Ты написал какой-то бред про статику, которая вообще не причём
# Swank (26.04.2015 / 17:42)
Может кто подкинуть статьей для изучееия абстракных классов и интерфейсов где написано не "заумным языком"
Да что их изучать? Это всё просто как две копейки. Другое дело научиться их применять там, где это действительно нужно.
reaper, Как не при чем? Все методы и свойства можно вызвать только статически
reaper, Я о абстракных классах только слыхал и не в одном языке их не юзал и даже не помню когда код с абстракными классами видел, мне вообще неизвестно как их используют.
Для меня не так уж и легко
Folour,
Попробую объяснить ещё раз.
В интерфейсе можно только объявить методы. Реализовывать нельзя. Они выступают гарантом, что у класса, их реализовывающего, будут методы, определённые в интерфейсе. Можно ещё просто определить пустой интерфейс и реализовать его. Ну не суть. Это всё детали.
Абстрактный класс. Отличается от обычного класса тем, что создать его экземпляр нельзя.
Так же, как и интерфейс, может содержать определения методов. Только в этом случае метод должен быть объявлен абстрактным.
Можно реализовать метод прямо в абстрактном классе и обращаться к нему так же, как и к методам обычного класса. Нужно только отнаследоваться от этого класса. В этом их отличие от интерфейсов.
К instance-методам и свойствам НЕЛЬЗЯ обращаться так, словно они статические.
Статические же методы и свойства могут быть определены как и в абстрактных, так и в обычных классах. Причём они здесь, я не понимаю.