169 похожих чатов

То есть, интерфейс и абстрактный класс == абстрактный? они на

одном уровне и могут не наследовать методы?

14 ответов

19 просмотров

Наследование методов у интерфейса было бы странным

As-Lan Автор вопроса
As Lan
ну я имел ввиду про абстрактные классы

Вы запутали и себя и меня Я предлагаю почитать книжку Хотите посоветую прикольную ? Сам читал естессно

As-Lan Автор вопроса
Владимир Свешников
Вы запутали и себя и меня Я предлагаю почитать кни...

ну было бы неплохо, только не доку пхп пожалуйста, я там и читал про ооп

As Lan
ну было бы неплохо, только не доку пхп пожалуйста,...

Паттерны проектирования (2018) Автор: Эрик Фримен, Элизабет Фримен Переиздание Как по мне объясняет 2 в одном

Абстрактный класс мы не можем использовать напрямую. Только его конкретный класс наследник. Тогда система и заставит нас где-то метод определить.

As-Lan Автор вопроса
Дмитрий Елисеев
Абстрактный класс мы не можем использовать напряму...

нет же, я не про это) - Вот допустим вы создали Интерфейс парсера сайта ParserInterface.php, внутри вы создали метод parseUrl() - Теперь создаете абстрактный класс PornhubService.php который имплиментирует ParserInterface. Вопрос: почему абстрактный класс PornhubService может пренебречь правилами и не создавать внутри себя метод parseUrl() которого требует Интерфейс. Ведь все методы интерфейса должны быть описаны в дочерних классах

As Lan
нет же, я не про это) - Вот допустим вы создали Ин...

Про это. У абстрактного класса обязательно будет наследующийся конкретный класс. Поэтому если метода нет у абстрактного, то тогда нас заставят определить метод в конкретном.

As-Lan Автор вопроса
Дмитрий Елисеев
Про это. У абстрактного класса обязательно будет н...

это то я знаю что заставит) вопрос почему?) ведь Абстрактный класс имплментирует Интерфейс)) может есть статья про это? в доках ПХП про это не упомянули, или я плохо смотрел

As Lan
это то я знаю что заставит) вопрос почему?) ведь А...

Потому что из абстрактного нельзя сделать объект через new. Он как полуфабрикат/запчасть, а не как полноценный класс.

As Lan
это то я знаю что заставит) вопрос почему?) ведь А...

interface A { function a() function b() } abstract class B imp A { } abstract class C extends B { function a() } class D extends C { function b() }

As-Lan Автор вопроса
Дмитрий Елисеев
Потому что из абстрактного нельзя сделать объект ч...

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

Дмитрий Елисеев
interface A { function a() function b() } abs...

Суть правила в том, чтобы нельзя было создать объект без какого либо метода из интерфейса. Абстрактных классов может быть сколько угодно. Хоть с методами, хоть без. Создать объект можно только начиная с класса D. Поэтому правило только в нём начнёт проверять методы.

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Так а кто может спарсить всех участников чата? Идишники
Magic
17
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Ребята, а из API геокодеров (по адресам в РФ) что сейчас актуального и есть ли среди актуального бесплатное/с нормаотным лимитом запросов? ситуация простая - на сайте периоди...
Dreamer_0x01 VeseloV
8
Карта сайта