ООП хелп=)

Discussion in 'PHP' started by XopoIII, 2 Dec 2007.

  1. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    привет всем, у меня просьба, я пытаюсь выучить ООП, а в манах так написано что голова болит, ктонибуть знает хорошии статьи наглядные? или маны? или если не трудно сам что ниюуть напишит=) с меня большие плюсики
     
  2. ENFIX

    ENFIX Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    175
    Likes Received:
    122
    Reputations:
    75
    посмотри на php.su
    довольно таки понятно расписано
     
    2 people like this.
  3. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    не вкуриваю все ровно=( хелп люди
     
  4. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Значит ищи проблему "невкуривания" в себе
     
  5. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    ладно по другому, в чем, где и зачем применять классы? я понимаю что и как, но с чем их едят? где используют? немогу понять=(
     
  6. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    А че именно невкуриваешь? :)))
    Тебе бы для начала почитать про принципы ООП, почитай всякие разные Design Patterns
     
  7. ENFIX

    ENFIX Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    175
    Likes Received:
    122
    Reputations:
    75
    >зачем применять классы?
    Для удобства.
    т.е. написал 1 класс, и юзай его хоть сколько раз.
    Например при линейном программировании все надо писать заного, а тут уже все есть, все функции, все переменные и т.д.
    + к тому класс универсален. т.е. можешь использовать его в других проектах.
    Или еще, например не знаешь как это работает, а надо реализовать - ищи класс и юзай
     
    1 person likes this.
  8. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Вообще, вкуривание или невкуривание ООП как парадигмы в мире программирования вызывала проблемы не только у XopoIII. Что это такое и чем оно хорошо однозначно не скажешь. Тут есть как и сторонники так и противники ООП. Вообще, представляй ООП как абстрацию в коде, приближающую понятия предметной области к реальной жизни. Каждая сущность предметной области - объект в коде. Атрибуты сущности в предметной области - характерные свойства реального понятия (вес, цвет и т.д.). Методы сущности из предметной области - это действия оказываемые сущностью на реальный мир или действия, оказываемые реальным миром на сущность... В чём выигрышь? А в том, что конечный пользователь работает с интерфейсом таких сущностей и его не колышит как и что реализовано внутри... То есть, даже если что-то изменится внутри, это не потребует изменения наработанного кода, но даст возможность лёгкого апгрейда кода, для достижения необходимой функциональности. Такой подход позволяет в полной мере реализовать понятие "повторное использование кода", когда на основании уже готовых наработок разработчик может расширить функциональность готового кода с помощью понятия "наследование"... В общем это не простой вопрос и для его осмысления я тебе советую полазить по сети и поскать описание этой технологии в терминах языка C++. Всё таки это понятие полезло оттуда...
     
    1 person likes this.
  9. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Стукни 4 7 1 7 4 1
     
  10. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    а примерчики?)
     
  11. reversys

    reversys Elder - Старейшина

    Joined:
    21 Nov 2007
    Messages:
    139
    Likes Received:
    57
    Reputations:
    7
    Ну вот мне когда то приводили пример на котором я это всё осознавал:
    Класс автомобиль:
    свойства: макс скорость, грузоподъёмность, цвет, мощность...
    методы: ремонтировать, перекрасить, ехать, остановаить
    и т.д. и т.п.

    Класс самосвал, наследник от класса автомобиль:
    добавляются свойства: объём кузова
    добавляются методы: поднять кузов, опустить кузов
    и т.д. и т.п.

    Вот на этом примере я когда в школе учился осознал штойта за зверь ООП.
    Обычно гораздо удобней писать программы именно так.
    А по поводу наследования - ты вот написал класс автомобиль со всеми методами и свойствами так мало того что тебе в другой программе не надо его делать заново - тебе не нужно заново писать этотже код когда ты захочешь сделать класс самосвал или легковушка и т.д.
     
    1 person likes this.
  12. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    не ну так понятно конечно =) но практики маловато=( да, а как происходит обращение к класам? так же как и к обычным скриптам?
     
  13. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Хм...сравнивать классы и скрипты - как минимум бредово звучит )))
    Допустим, обращаешься к свойству класса Class1, которое хранит определенное значение (совершенно любое) след образом Class1->Var1 (это для примера)
    Есть еще так называемы методы (модификаторы) классов - служат,допустим, для изменения свойств класса ( Class1->Method1(Somevars) )
    Объяснять в виртуале сложно :) Особенно тебе(не прими за оскорбление :)))
    В ООП сохраняется принцип наследования - один из плюсов ООПа и принятых патрнов в общем - код более читаемый, можно избавиться от дубликатов кода...
    Ради примера возьми WebICQlite (WebICQpro) для пхп - класс для работы с асей - по нему поймешь о чем я говорю...
     
    3 people like this.
  14. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
  15. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    если что, то это php4
     
  16. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    классы в php4?Вы о чём?Я лично классы пока в пхп не юзаю потому что задачь с ними пока не предоставлялось.И вообще в пхп они кривые все.Классы нужны для формирования новых типов данных.Классы могут быть нужны для связи нескольких параметров чего либо(предположим пользователя).Самые клёвый полифоризм в с++ из за этого он слишком гибок для разработки.
     
  17. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    лично слышал от тех кто работал с класами, что очень полезная весч
     
  18. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Дело понятное, что вещь полезная и жизнь облегчает :)
    2scrat А чем они кривые в пыхе? :)
     
  19. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    biophreak, в php4 ООП нету... :)
     
    1 person likes this.
  20. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    =))) лучше примерчики бы выложили, а не флудили=)