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

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

  • Givi

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

    Spritz 16 апреля 2010 г. 14: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

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

    Spritz 19 апреля 2010 г. 18: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

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

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

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

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