Ответы пользователя по тегу ООП
  • Как правильно выделить объект и класс в ООП?

    Decadal
    @Decadal
    В том, чтобы разбить большую задачу на классы, сильно помогает база данных. Проводя нормализацию таблиц, вы проектируете почти полностью подходящие для вас сущности.

    Но если начать с проектирования кода, то смотрите: класс Info это слишком общее название. У вас всё - info.

    Должен быть класс Driver который содержит информацию о водителе(если водитель не выделен в класс Person). Есть класс Bus, который знает про марку авто. Возможно, он будет содержать list of drivers - с инфой о том, кто обычно управляет этим авто, а может вам нужен driver - ссылка на один объект класса Driver, если нужно знать, кто управляет автобусом именно сейчас.
    Направление понятно?
    Ответ написан
  • Почему C# не позволяет делать Downcast от родителя к потомку?

    Decadal
    @Decadal
    Почему для вас выглядит логичным каст экземпляра родителя в экземпляр потомка? А если потомок определяет особенные условия, которые нужны для его создания? А зависимости?
    Ответ написан
  • Свойство класса пустое... Почему?

    Decadal
    @Decadal
    <?php
    
    class A {
        public static $price; 
        public static function meth() {
            self::$price = 1;
        }
    }
    
    class B extends A {
        public static function meth() {
            parent::$price = 2;
        }
    }
    
    B::meth();
    echo A::$price; //2


    я все правильно понял? Если да, то всё ок как бы.
    А вообще вы бы вместо вашей прозы код кидали)
    Ответ написан
    2 комментария
  • Как получать один объект в разных запросах?

    Decadal
    @Decadal
    Давайте начнем с того, что база данных это не про ООП. База данных это то, что выросло из примитивных файликов на жёстком диске, куда выплёвывается всякая разная информация, родившаяся во время работы с программой.
    БД ставит себе цель работать очень быстро с гигантскими объемами данных. БД имеет свою фишечку по красоте собственного устройства, называется нормализацией.
    Если вы будете пришивать ко всему, что увидите, ООП, очень скоро заметите что время разработки просто упрется в бесконечность.

    А теперь касательно вашего примера: у вас есть класс который называется юзер. В него попадают данные после запроса всех юзеров - и он с ними работает. А потом в него попадают данные после запроса юзеров, поставивших лайки - он работает и с ними.
    Все. Это потолок, шедевр, ООП тут сделало свою работу. Можете кодить спокойно дальше.
    Пока не узнали что модель юзера может меняться в зависимости от ситуации, и где-то вам понадобится модель юзера с моделью аватарки внутри, а где-то - с моделью аватарки и ещё и моделью токена...
    Пока что все хорошо.
    Ответ написан
  • Почему модель возвращает объект?

    Decadal
    @Decadal
    Дело в том, что конструктор призван возвращать объект и возвращает новый объект неявно, поэтому нет смысла пытаться вернуть что-то через конструктор. Будет всегда объект
    Ответ написан
    Комментировать