Ответы пользователя по тегу ООП
  • Подскажите паттерн ООП для задачи

    Сами названия методов нам подсказывают, что можно использовать событийный подход.
    Ответ написан
    Комментировать
  • Не понятное поведение при обращении к методу

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

    И получается, что уже в PHP4 можно было использовать что-то на подобии трейтов: ).
    Ответ написан
    Комментировать
  • Именование классов?

    1. У меня создалось впечатление, что тут наследование перепутано с делегированием. Если у разных объектов, которые не участвуют в наследственности(т.е. по-хорошему комната и листок не должны иметь общих предков), должны быть общие методы — то тут есть несколько путей развития: примеси, делегирование специального объекта с общим поведением в объекты. А, если реализация простая, то для каждого супер-класса можно написать свою реализацию.

    2. Лучше классы называть понятно. Может стоит извратиться, написать небольшой скрипт, который сканирует файлы классов и создаёт массив: array('class_name'=>'class_file', ...)? Можно такое сделать только для этой части проекта и зарегистрировать для него отдельный автозагрузчик.
    Ответ написан
    1 комментарий
  • Различия между классом и объектом?

    Я придумал свою дурацкую аналогию.

    Класс — это бог, который есть всегда. И бог по образу и подобию своему создаёт экземпляры — человеков. Каждый человек наделён своим набором свойств (рост, вес, ...) и методов (плавать, ходить, летать, ...). А бог в свою очередь наделён общими для всех методами: принимать мольбы, карать, посылать манну небесную и сотворить чудо. Эти методы могут быть приватными. Т.е. бог например может принимать мольбы только людей, а не марсиан. А вот сотворить чудо может как для людей, так и для марсиан — ему не жалко.

    : )
    Ответ написан
    Комментировать