ФорумПрограммированиеPHP для идиотовPHP и ООП → непонятки с ООП

непонятки с ООП

  • Givi

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 20 февраля 2010 г. 15:38, спустя 1 час 6 минут 28 секунд

    Naaayh, она сірая, но мне она больше нравится своей идеей чем вторая ветка. Надеюсь её в ближайшем будущем доделают до состояния "почти все есть". А в целом она и сейчас уже вполне юзабельна.
  • VaseninM

    Сообщения: 2417 Репутация: N Группа: Адекваты

    Spritz 20 марта 2010 г. 8:56, спустя 27 дней 16 часов 17 минут

    ПыХеры, // гыгы
    скажите мне нормальный пример, кроме счетчика, когда предпочтительней статические методы и переменные юзать?
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 20 марта 2010 г. 9:24, спустя 28 минут 12 секунд


    ПыХеры, // гыгы
    скажите мне нормальный пример, кроме счетчика, когда предпочтительней статические методы и переменные юзать?
    иногда для удобства, я вот только что добавил стат метод для удобства

    	public static function getModules($modules)
    {
    return self::instance()->modules->get($modules);
    }
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 20 марта 2010 г. 9:41, спустя 17 минут 19 секунд

    гг, а я такой же метод 3 дня назад заменил на нестатический)
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 20 марта 2010 г. 9:53, спустя 11 минут 48 секунд


    гг, а я такой же метод 3 дня назад заменил на нестатический)
    у меня нестатические уже есть ))

    просто в компонентах удобнее так обращаться, чем писать эту строку из вложенности 3 каждый раз
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 20 марта 2010 г. 10:04, спустя 11 минут 23 секунды

    по определению статик полезен для добывания общих для всех объектов данных. общих для экзепляров этого класса (protected) или вообще для всех (public).
    ιιlllιlllι унц-унц
  • VaseninM

    Сообщения: 2417 Репутация: N Группа: Адекваты

    Spritz 16 апреля 2010 г. 3:12, спустя 26 дней 17 часов 7 минут

    Никак не пойму зачем нужны абстрактные классы и интерфейсы. Не, ну в инете я канеш прочитал. Но не пойму:
    зачем делать класс с пустыми методами, чтобы потом на основе его создать еще один класс с теми же методами, только уже задать их? {+++183+++} объясните дебилу
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 16 апреля 2010 г. 3:56, спустя 44 минуты 22 секунды

    Интерфейсы нужны, чтобы создавать классы с одинаковыми интерфейсами =)
    Абстрактные классы посути расширенные интерфейсы, просто часть одинаковых методов можно внести в родительский класс и уменьшить кол-во методов в детях + будет уверенность что эти методы будут работать одинаково для всех наследуемых классов
    Work, buy, consume, die
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 16 апреля 2010 г. 4:08, спустя 11 минут 19 секунд

    SpartakuS, посмотри на мои драйвера для BL_Translate
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 16 апреля 2010 г. 5:29, спустя 1 час 21 минуту 51 секунду

    Тут надо просто понять, что эти фишки не являются каким-то расширенным функционалом языка, а лишь средство для упорядочивания кода.
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 16 апреля 2010 г. 6:18, спустя 48 минут 35 секунд


    Никак не пойму зачем нужны абстрактные классы и интерфейсы. Не, ну в инете я канеш прочитал. Но не пойму:
    зачем делать класс с пустыми методами, чтобы потом на основе его создать еще один класс с теми же методами, только уже задать их? {+++183+++} объясните дебилу


    ООП учит не знать слишком много. интерфейс это стопроцентный черный ящик. знаем как использовать, не знаем что внутри.

    можно рассматривать интерфейс как техзадание другим разработчикам: "сделайте так, чтобы я мог обращаться к вашим обектам вот таким образом, тогда вам не понадобится курить мой код"
    ιιlllιlllι унц-унц
  • VaseninM

    Сообщения: 2417 Репутация: N Группа: Адекваты

    Spritz 16 апреля 2010 г. 6:36, спустя 18 минут 22 секунды

    Спасибо. Еще посмотрю Абырвалга драйвера и постараюсь осмыслить.
  • Frozzeg

    Сообщения: 5642 Репутация: N Группа: Джедаи

    Spritz 16 апреля 2010 г. 6:42, спустя 5 минут 39 секунд

    SpartakuS, почитай про паттерны проектирования, все поймешь
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • WF_jaltyPal

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 19 апреля 2010 г. 10:19, спустя 3 дня 3 часа 37 минут

    class SiteCfg {

    private $site_condition;
    private $footer;
    private $description;
    private $keywords;

    function CfgGet () {
    $sql = mysql_query("SELECT * FROM site_cfg") or die(mysql_error());
    return mysql_fetch_array($sql);
    }

    function CfgSet ($cfgs) {
    $this->site_condition = $cfgs['site_condition'];
    $this->footer = $cfgs['footer'];
    $this->description = $cfgs['description'];
    $this->keywords = $cfgs['keywords'];
    }

    function CfgUse () {
    return array("site_condition" => "{$this->site_condition}",
    "footer" => "{$this->footer}",
    "description" => "{$this->description}",
    "keywords" => "{$this->keywords}");

    }

    }


    пойдет?) класс для доступа к настройкам сайта/
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 19 апреля 2010 г. 10:22, спустя 2 минуты 13 секунд

    WF_jaltyPal, хуета :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!