Stierus пишет:Класс - это цельная сущность, она должна быть самодостаточной. Если в классе есть получение внутриклассовых переменных - задаваться они должны там же. Наследование нужно для уменьшения кода
. Есть у вас сущность "товар" ... с товаром можно совершать кучу вещей - продать, добавить в корзину, получить количество на сайте и тд. Но вот у вас появляется электронный товар. Что делать? выделять класс baseGood в который выносить все, что относится и к физическим и к электронным товарам (песни, электронные книги, видео) - это положить в корзину, узнать цену, оформить заказ и тд ... это немаленький список функций. НУ а то, что относится только к физическим товарам - создать отдельный класс и наследовать от baseGood (тут добавляют методы получения количества на складе, узнать стоимость доставки и тд) ... потом появится товар, у которго нужно узнавать цвет, размер, теплоемкость и тд.
Тоесть наследование для того что бы общие свойства и методы у схожих классов выделять, а не для того что бы городить кучу связанных между собой классов.
Теперь касательно вашего наследования от core ... что вы будете делать, если вас попросят все новости хранить в файлах (ну или там из мемкеша брать - не важно) ?
Вы правильно все пишите, и это можно прочесть везде. Я только до конца не понимаю как реализовать то что вы пишите. Если мне нужно будет брать новости из файлов, как быть я пока незнаю, я бы переписал Get(); а лучше написал другой метод работающий с файлами и запрашивал не Get() а GetFromFile() чтото такое.
Вот в этом и вопрос что все что я могу спросить на форуме, у вас или еще где просто перерастает в бесмысленный разговор также о сущьностях, о колбасе и компакт дисках, а понять куда таки впрягают коней я пока не увидел ответа.
Извините. Потому как бы и затеял этот разговор. И все. Вот сел час назад просто для себя почитать, набрал ОПП PHP статьи. И все что можно прочитать это примитив и не более. Нормально понять как все работает не так и сложно но есть моменты.
Сейчас у меня как все построено. Есть класс я его зову ядро, он умеет только работать с базой данных, берет, кладет, удаляет, обновляет. Далее если нужно новости напрмер - я пишу расширение класса, и беру ядро как родителя. И у же в классе новостей пишу - Дайте данные - и уже с ними работаю (примитивно описываю но по сути).
А как иначе никто нормально не может обьяснить. И тем более в такое положение вещей я попал когда только начал ООП изучать, мне достался класс с которым нужно было работать а он так и работал, от туда я и нахватался вероятно как сейчас выходит не очень правильного подхода.
Если есть минутся рассказать - прошу помоши.