Просмотр полной версии : ООП хелп=)
привет всем, у меня просьба, я пытаюсь выучить ООП, а в манах так написано что голова болит, ктонибуть знает хорошии статьи наглядные? или маны? или если не трудно сам что ниюуть напишит=) с меня большие плюсики
посмотри на php.su
довольно таки понятно расписано
не вкуриваю все ровно=( хелп люди
Значит ищи проблему "невкуривания" в себе
ладно по другому, в чем, где и зачем применять классы? я понимаю что и как, но с чем их едят? где используют? немогу понять=(
biophreak
03.12.2007, 13:07
А че именно невкуриваешь? :)))
Тебе бы для начала почитать про принципы ООП, почитай всякие разные Design Patterns
>зачем применять классы?
Для удобства.
т.е. написал 1 класс, и юзай его хоть сколько раз.
Например при линейном программировании все надо писать заного, а тут уже все есть, все функции, все переменные и т.д.
+ к тому класс универсален. т.е. можешь использовать его в других проектах.
Или еще, например не знаешь как это работает, а надо реализовать - ищи класс и юзай
groundhog
03.12.2007, 14:20
Вообще, вкуривание или невкуривание ООП как парадигмы в мире программирования вызывала проблемы не только у XopoIII. Что это такое и чем оно хорошо однозначно не скажешь. Тут есть как и сторонники так и противники ООП. Вообще, представляй ООП как абстрацию в коде, приближающую понятия предметной области к реальной жизни. Каждая сущность предметной области - объект в коде. Атрибуты сущности в предметной области - характерные свойства реального понятия (вес, цвет и т.д.). Методы сущности из предметной области - это действия оказываемые сущностью на реальный мир или действия, оказываемые реальным миром на сущность... В чём выигрышь? А в том, что конечный пользователь работает с интерфейсом таких сущностей и его не колышит как и что реализовано внутри... То есть, даже если что-то изменится внутри, это не потребует изменения наработанного кода, но даст возможность лёгкого апгрейда кода, для достижения необходимой функциональности. Такой подход позволяет в полной мере реализовать понятие "повторное использование кода", когда на основании уже готовых наработок разработчик может расширить функциональность готового кода с помощью понятия "наследование"... В общем это не простой вопрос и для его осмысления я тебе советую полазить по сети и поскать описание этой технологии в терминах языка C++. Всё таки это понятие полезло оттуда...
groundhog превысил(а) максимальный объем сохраненных персональных сообщений и не может получать новые сообщения, пока не удалит часть старых.
Стукни 4 7 1 7 4 1
reversys
03.12.2007, 16:51
Ну вот мне когда то приводили пример на котором я это всё осознавал:
Класс автомобиль:
свойства: макс скорость, грузоподъёмность, цвет, мощность...
методы: ремонтировать, перекрасить, ехать, остановаить
и т.д. и т.п.
Класс самосвал, наследник от класса автомобиль:
добавляются свойства: объём кузова
добавляются методы: поднять кузов, опустить кузов
и т.д. и т.п.
Вот на этом примере я когда в школе учился осознал штойта за зверь ООП.
Обычно гораздо удобней писать программы именно так.
А по поводу наследования - ты вот написал класс автомобиль со всеми методами и свойствами так мало того что тебе в другой программе не надо его делать заново - тебе не нужно заново писать этотже код когда ты захочешь сделать класс самосвал или легковушка и т.д.
не ну так понятно конечно =) но практики маловато=( да, а как происходит обращение к класам? так же как и к обычным скриптам?
biophreak
03.12.2007, 17:40
Хм...сравнивать классы и скрипты - как минимум бредово звучит )))
Допустим, обращаешься к свойству класса Class1, которое хранит определенное значение (совершенно любое) след образом Class1->Var1 (это для примера)
Есть еще так называемы методы (модификаторы) классов - служат,допустим, для изменения свойств класса ( Class1->Method1(Somevars) )
Объяснять в виртуале сложно :) Особенно тебе(не прими за оскорбление :)))
В ООП сохраняется принцип наследования - один из плюсов ООПа и принятых патрнов в общем - код более читаемый, можно избавиться от дубликатов кода...
Ради примера возьми WebICQlite (WebICQpro) для пхп - класс для работы с асей - по нему поймешь о чем я говорю...
Статья - Объекты и классы в PHP (http://www.intuit.ru/department/pl/plphp/6/)
Примеры - http://www.phpclasses.org/
классы в php4?Вы о чём?Я лично классы пока в пхп не юзаю потому что задачь с ними пока не предоставлялось.И вообще в пхп они кривые все.Классы нужны для формирования новых типов данных.Классы могут быть нужны для связи нескольких параметров чего либо(предположим пользователя).Самые клёвый полифоризм в с++ из за этого он слишком гибок для разработки.
лично слышал от тех кто работал с класами, что очень полезная весч
biophreak
04.12.2007, 10:17
Дело понятное, что вещь полезная и жизнь облегчает :)
2scrat А чем они кривые в пыхе? :)
groundhog
04.12.2007, 10:57
biophreak, в php4 ООП нету... :)
=))) лучше примерчики бы выложили, а не флудили=)
biophreak
04.12.2007, 12:53
groundhog Не, товарищь scrat написал
И вообще в пхп они кривые все.
Вот хочу мотивацию, чем же они так кривы? :)
В 4м пыхе нету, согласен, но вот чем они кривы в пятом? :)
groundhog
04.12.2007, 13:01
Ну кривое - не кривое, но в пятом Php оно уже весьма близко к ООП других языков программирования. Есть все ключевые моменты, чтобы построить полноценное веб-приложение... С приходом Php6 ООП вообще не будет уступать своим сородичам по ООП.
с другой стороны написав класс и принявшись на нём ваять сайт, не раз задумаешься - а правильно ли ты написал класс. ведь нет гарантии, что класс сам по себе безглючный, чтобы писать и не задумываться. порой в нём оказывается не хватает нужной функции или вообще вся структура построения кривая, следовательно весь твой сайт можно выкинуть вместе с классом, потому что он уже никуда не годен.
groundhog
04.12.2007, 15:44
с другой стороны написав класс и принявшись на нём ваять сайт, не раз задумаешься - а правильно ли ты написал класс. ведь нет гарантии, что класс сам по себе безглючный, чтобы писать и не задумываться. порой в нём оказывается не хватает нужной функции или вообще вся структура построения кривая, следовательно весь твой сайт можно выкинуть вместе с классом, потому что он уже никуда не годен.
Это ошибки проектирования... Они всегда будут если проектированием занимается человек далёкий от этого... Да и вообще, любой проект предполагает доработку, так что это не аргумент, Дикс... Если человек что-то делает неправильно, это его проблемы, а не технологии, которую он выбрал для разработки...
biophreak
05.12.2007, 17:56
Дикс:
А если писать тоже самое без классов - нужно будет править ВСЕ, а не только класс :)))))
Если вы поняли о чем я ;)
Да и поправленное и правильно работающее можно будет потом юзать в других проектах, ты будешь знать, что оно работает так как тебе надо ;)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot