За последние 24 часа нас посетили 60959 программистов и 1744 робота. Сейчас ищут 978 программистов ...

Помогите с ООП

Тема в разделе "PHP для новичков", создана пользователем alexander.pro, 6 ноя 2008.

  1. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Это можно реализовать и с помощью include() подобных ф-ий я так думаю если я правильно понял Вас.
     
  2. dAllonE

    dAllonE Guest

    Для меня как для разработчка принципиальная разница, потому что обязательно какой-нибудь нехороший человек, обязательно попытается в обход setB подставить напрямую.
    Учитывая то, что в дальнейшем над $this->b вполне могут потребоваться несколько более сложные манипуляции, потом весь код начнет "ехать".

    А так даже если он решит поставить public. То поскольку эта часть кода "моя" при commite я сразу увижу что ее кто-то правит, и этот кто-то получить по наглой рыжей морде :)
     
  3. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Доступ к $b будет не доступен !!!Вот и нкапсулировали :D
     
  4. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Какие манипуляции если можно и не секрет.
     
  5. obsrv

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

    С нами с:
    2 окт 2008
    Сообщения:
    238
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Greg1978
    Не правильно, но и ладно, все равно я впринципе согласен :)

    dAllonE
    А вот это уже жалобы, которые к реальности не имеют отношения. ;)
    Черный ящик - это когда я сделал MyClass.java (или MyClass.cpp) и прошелся компайлером и получил бинарники (+- для джава и си). А в случае с PHP говорить пока о черных ящиках рановато.
    Поэтому при наличии StarTeam, CVS или что вы там используете, вам все равно придется идти и давать по наглой рыжей морде, ну просто потому, чтто он захочет изменить private на public. Поэтому, как я и говорил ранее, или javadoc (я вот не в курсе, в php есть такое средство?) или по-другому описанная модель (UML?) и доведенная до ума другого разраба (ШОБ не лез).

    Уф, много писать тяжело :)
     
  6. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    В этом я точно не силён.^=^
     
  7. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    Чудно смотрится :):):)
     
  8. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    :) А вы в С++ и в java..... ? компиляции ?
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Функция работает быстрее аналогичного класса. Классы имеют приемущество, когда надо их использовать много и сразу.
     
  10. dAllonE

    dAllonE Guest

    obsrv, да есть phpDocumentor.
    Понимаете дело в том, что если там стоит public, то человек сразу решит "Переменную можно ставить как душе угодно", большая вероятность, что он даже и не докрутит скролл до setB. Если же там стоит private/protected - более-менее думающий разработчик трогать это в чужом коде не будет. Ну а для стажеров останется Выше описанное средство.


    Greg1978, какие?
    Да какие угодно :)
    Например у нас есть еще переменная $a, которая также зависит от переменной $b
    Или эта самая $b является еще и count'ом какого-нить товара и нам нужно потом еще и в куку/сессии etc. записать значение. Много в общем всего можно придумать. :)
     
  11. dAllonE

    dAllonE Guest

    [vs], а С++ работает быстрее PHP. А Asm быстре С++...
     
  12. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Да любые. Приведение значения к валидному, например. Скажем, ввели дату в формате dd.mm.yyyy а надо то же самое через слэш - dd/mm/yyyy. У меня сейчас как раз такой случай, правда на Java а не php.