Для чего в PHP наследование?

_RVK_

Новичок
Georgy, зачем ??? он с++ собрался учить ?
Читать полезно, знать много не вредно... Вот бы что то подобное о PHP, Какую нить книженцию страниц 600 в двух томах...
 

young

Новичок
Наследование это именно то, что отделяет объектный подход от объектно-ориентированного!
 

_RVK_

Новичок
Было бы время я бы сам всё запутал и на 10 страницах. Хочется книгу где вмести с PHP говорилось бы обо всех направлениях WEb и реализации этого в PHP. Когда написанно кратко то после прочтения получаешь больше вопросов чем ответов... И ответы на эти вопросы приходмтся искать самому путём тыка, да надоедая вам на форуме :)
 

Crazy

Developer
Автор оригинала: young
Наследование это именно то, что отделяет объектный подход от объектно-ориентированного!
Понимание концепции в последнюю очередь сводится к навешиванию ярлыков.
 

ForJest

- свежая кровь
Автор оригинала: Crazy
Вообще, печально, что в PHP нет доброй Smalltalk'овской возможности перехватывать обращения к несуществующим методам -- это единственное, чего бы я действительно хотел увидеть среди дополнений к PHP. Правда, в Delphi этого нехватает в куда больше степени (что, в принципе, и является причиной уродства VCL).
А c помощью Class/Object Functions не пробовал вывернутся?
 

Crazy

Developer
Автор оригинала: ForJest
А c помощью Class/Object Functions не пробовал вывернутся?
У тебя есть идеи о том, как именно можно вывернуться? :)

Как максимум -- удалось написать функцию call_if_exists($object,$method,$defaultMethod,$arrArgs) ... Но это как-то некузяво...
 

Screjet

Новичок
Наследование нужно чтоб меньше заниматься писаниной ПХП-кода :)

а ООП - "тяжело в учении - легко в бою" :)
 

_RVK_

Новичок
меньше заниматься писаниной ПХП-кода
Спорно. Одно запихнуть всё в один класс и другое написать класс а методы реализовывать в его потомках.
а ООП - "тяжело в учении - легко в бою"
Согласен. Мне всё легче и легче. Нет, серьёзно!
 

Crazy

Developer
Автор оригинала: Diesel
Спорно. Одно запихнуть всё в один класс и другое написать класс а методы реализовывать в его потомках.
Нельзя ли подробнее на эту тему? :)
 

Screjet

Новичок
о нет! только без терминов!
смотри,
пишешь очень важный базовый класс, в котором чтото важное:
PHP:
class base_class {
  //любой из потомков должен содержать $sql
  var $sql;

  base_class(){
    // создаем объект $sql
    $this->sql = new sql_class();
    }

/* другие важные операции, которые в большинстве (или даже все) должны быть в потомках 
... */

}
 

Crazy

Developer
Внимание, вопрос: а зачем писать в базовом классе эти важные операции, если они все равно будут в потомках? :)
 

Crazy

Developer
Вопрос вполне конкретен.

Если метод нужен в каждом из потомков -- все понятно. А зачем писать его в базовом классе, если он нужен не в каждом потомке?

Hint: мы говорим о PHP, а не о C++ ...
 

Screjet

Новичок
Ну множественного наследования нет, и потому базовые
классы смешивать нельзя, значит базовый класс должен содержать "всё" и нужное и не очень :)
А вообще чтоб меньше заниматься писаниной кода, а больше времени тратить на проектирование. (Писаниной я обзываю "агрегацию", сорри :))
Да, еще вот "мысль". Кажись ООП сам по себе "избыточный", т.е. многое из существующего не используется в полной мере.
 

Crazy

Developer
Автор оригинала: Screjet
значит базовый класс должен содержать "всё" и нужное и не очень :)
Кому должен? Зачем? Приведи, please, пример, в котором это необходимо.
 
Сверху