За последние 24 часа нас посетили 19587 программистов и 1603 робота. Сейчас ищут 884 программиста ...

Классы в пхп

Тема в разделе "PHP для новичков", создана пользователем inline, 17 янв 2011.

  1. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    PHP:
    1. class Items
    2. {
    3. function descr() {}
    4. function [b]descr_out[/b]() {}
    5.  
    6.  
    7. function coment() {}
    8. function [b]coment_out[/b]() {}
    9.  
    10. }
    а можно
    PHP:
    1. class Items
    2. {
    3. function descr() {}
    4. function [b]out[/b]() {}
    5.  
    6.  
    7. function coment() {}
    8. function [b]out[/b]() {}
    9.  
    10. }
    как прописать out() чтобы пхп понимал что тот out() для descr, а второй для coment ?
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    inline
    а как ты их будешь вызывать?

    $item = new Item;
    echo $item->out();
     
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Даже в С++ функция не может быть перегружена, если её аргументы одинаковы.
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    думаю идеологичеси правильнее было бы создать класс
    class Items в котором определить функцию out()
    и 2 дочерних класса - Descr и Coment, в которых перезагрузить эту функцию

    Как-то так.
    Хотя если фабрика не применяется - по..ую как называть)))))
     
  5. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Код (Text):
    1. <?php
    2. class Items {
    3.     function descr() {}
    4.     function out($titleMethod = 'descr')
    5.     {  
    6.         if($titleMethod == 'descr') {}
    7.     }
    8.  
    9.     function coment() {}
    10. }
    11. ?>