Начал потихоньку погружаться в ООП, конечно это полная жопа, но со временем освоиться можно =) Вопрос касается наследования и private ) К примеру при расширении функционала какого-то класса, в нем стоит private $login; private $pass; private $email; т.е доступно только для этой функции. Когда расширяется через extends также в приват добавляются дополнительные значения и в функцию что то типо: parent :: __construct($login, $pass, $email); $this->url = $url; $this->icq = $icq; т.е из родительского конструкта берутся значения, а ниже добавляются новые. Что если вместо private поставить Public, то можно спокойно убрать parent :: __construct($login, $pass, $email); и тупо добавить новые значения? Ведь они будут вне класса уже доступны?) Еще не практиковал, но думаю лучше подстраховаться и спросить) спасиб.
точно)) спс. это наверное зависит еще от того или инного случая юзать protected или родительские данные добавлять parent. ?)
И еще) Как так в классе -- функция { присваиваются переменным значения ведь $obj будет вне класса типо $obj = new classname(); $obj->getName(); итд или я еще чего то не знаю?(
если ты используешь внешний объект, то его в метод нужно передать или объявить глобальным. иначе ты до него не достучишься. если ты сам себя меняешь из метода, то пишешь $this->param = $new_value; если этот параметр статический, то будет self::$param = $new_value;
Invision потому что ты никогда ничего не делаешь сам. ждешь когда тебе разжуют. если бы ты начал читать про ооп сам, с начала, а не слушал дядей которые начинают рассказ с конца, то мозги бы не задымились. итак: ооп придумано чтобы не ебать моск тем, кто не знает ничерта о том, с чем работает. =) Проще говоря, вася кодит класс, петя кодит все что вокруг класса. и круто. деревня счастлива! это так всем понравилось, потому что прогеры и трактористы любят ничего не выбрасывать и использовать по десять раз. ООП под это дело очень подошло, поэтому получило такое распространение=) Все были очень довольны, пока процессоры не стали такие шустрые, что их стало можно заваливать тоннами говнокода и все все работает быстро. Тогда говнокод разросся, и ООП стало разрастаться неуемно - ибо кучищи всяких классов передавались в классы, наследовались, изменялись, и т.п. и уже стадо недостаточно видеть что у класса есть два метода и вызывать подходящий. У классов стало у каждого по сотне-другой говнометодов, и разобраться в них стало невозможно. Тогда собрались самые сильные программисты и решили выбросить ООП в огненную бездну Мордора. Но ООП изменило их пока они пили пиво, и обмануло их уверив, что дополнительные хрени помогут заменить написание четкой документации. А дополнительные хрени это всякие приваты и протектеды, статики и синглтоны. Так ООП прячет методы, о которых ты даже ничего не знаешь! Тысячи их! а потом появились конструкторы... деструкторы... удобные... клевые... и блистят... наша прелесть...
Invision почитай: Мэтт Зандстра PHP: объекты, шаблоны и методики программирования у меня второе издание но уже видел и 3-е. что в нем не смотрел.
Invision Хорошая книга http://www.ozon.ru/context/detail/id/2847621/ жаль только перевод хуевый...((( По ходу его писали те, кто от php и вообще от программирования далековат. И опечаток хватает, надо внимательным быть) Уже год по кругу читаю(помимо другой литературы конечно), и каждый раз открываю что-то новое, что в прошлый раз не смог понять из-за недостатка знаний и навыков. Зандстру тоже рекомендую.
Вот все рекомендуют http://www.ozon.ru/context/detail/id/2847621/, а её хрен где найдешь. Или я плохо искал?
если из минска заказывать на русском, то она стоит 50 тысяч бел. руб. это где-то 16$. за доставку не жалко отдать баксов пять даже. где-то 20$ на родном против 25$+доставка на языке оригинала. меня бы заломало платить за оригинал в 2 раза больше