Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   ООП хелп=) (https://forum.antichat.xyz/showthread.php?t=54880)

XopoIII 02.12.2007 18:19

ООП хелп=)
 
привет всем, у меня просьба, я пытаюсь выучить ООП, а в манах так написано что голова болит, ктонибуть знает хорошии статьи наглядные? или маны? или если не трудно сам что ниюуть напишит=) с меня большие плюсики

ENFIX 02.12.2007 18:19

посмотри на php.su
довольно таки понятно расписано

XopoIII 03.12.2007 12:51

не вкуриваю все ровно=( хелп люди

Fata1ex 03.12.2007 13:00

Значит ищи проблему "невкуривания" в себе

XopoIII 03.12.2007 13:07

ладно по другому, в чем, где и зачем применять классы? я понимаю что и как, но с чем их едят? где используют? немогу понять=(

biophreak 03.12.2007 13:07

А че именно невкуриваешь? :)))
Тебе бы для начала почитать про принципы ООП, почитай всякие разные Design Patterns

ENFIX 03.12.2007 13:15

>зачем применять классы?
Для удобства.
т.е. написал 1 класс, и юзай его хоть сколько раз.
Например при линейном программировании все надо писать заного, а тут уже все есть, все функции, все переменные и т.д.
+ к тому класс универсален. т.е. можешь использовать его в других проектах.
Или еще, например не знаешь как это работает, а надо реализовать - ищи класс и юзай

groundhog 03.12.2007 14:20

Вообще, вкуривание или невкуривание ООП как парадигмы в мире программирования вызывала проблемы не только у XopoIII. Что это такое и чем оно хорошо однозначно не скажешь. Тут есть как и сторонники так и противники ООП. Вообще, представляй ООП как абстрацию в коде, приближающую понятия предметной области к реальной жизни. Каждая сущность предметной области - объект в коде. Атрибуты сущности в предметной области - характерные свойства реального понятия (вес, цвет и т.д.). Методы сущности из предметной области - это действия оказываемые сущностью на реальный мир или действия, оказываемые реальным миром на сущность... В чём выигрышь? А в том, что конечный пользователь работает с интерфейсом таких сущностей и его не колышит как и что реализовано внутри... То есть, даже если что-то изменится внутри, это не потребует изменения наработанного кода, но даст возможность лёгкого апгрейда кода, для достижения необходимой функциональности. Такой подход позволяет в полной мере реализовать понятие "повторное использование кода", когда на основании уже готовых наработок разработчик может расширить функциональность готового кода с помощью понятия "наследование"... В общем это не простой вопрос и для его осмысления я тебе советую полазить по сети и поскать описание этой технологии в терминах языка C++. Всё таки это понятие полезло оттуда...

Fata1ex 03.12.2007 14:31

Цитата:

groundhog превысил(а) максимальный объем сохраненных персональных сообщений и не может получать новые сообщения, пока не удалит часть старых.
Стукни 4 7 1 7 4 1

XopoIII 03.12.2007 16:37

а примерчики?)

reversys 03.12.2007 16:51

Ну вот мне когда то приводили пример на котором я это всё осознавал:
Класс автомобиль:
свойства: макс скорость, грузоподъёмность, цвет, мощность...
методы: ремонтировать, перекрасить, ехать, остановаить
и т.д. и т.п.

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

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

XopoIII 03.12.2007 17:28

не ну так понятно конечно =) но практики маловато=( да, а как происходит обращение к класам? так же как и к обычным скриптам?

biophreak 03.12.2007 17:40

Хм...сравнивать классы и скрипты - как минимум бредово звучит )))
Допустим, обращаешься к свойству класса Class1, которое хранит определенное значение (совершенно любое) след образом Class1->Var1 (это для примера)
Есть еще так называемы методы (модификаторы) классов - служат,допустим, для изменения свойств класса ( Class1->Method1(Somevars) )
Объяснять в виртуале сложно :) Особенно тебе(не прими за оскорбление :)))
В ООП сохраняется принцип наследования - один из плюсов ООПа и принятых патрнов в общем - код более читаемый, можно избавиться от дубликатов кода...
Ради примера возьми WebICQlite (WebICQpro) для пхп - класс для работы с асей - по нему поймешь о чем я говорю...

[Raz0r] 03.12.2007 18:38

Статья - Объекты и классы в PHP
Примеры - http://www.phpclasses.org/

XopoIII 03.12.2007 18:49

если что, то это php4

scrat 03.12.2007 18:59

классы в php4?Вы о чём?Я лично классы пока в пхп не юзаю потому что задачь с ними пока не предоставлялось.И вообще в пхп они кривые все.Классы нужны для формирования новых типов данных.Классы могут быть нужны для связи нескольких параметров чего либо(предположим пользователя).Самые клёвый полифоризм в с++ из за этого он слишком гибок для разработки.

XopoIII 04.12.2007 08:31

лично слышал от тех кто работал с класами, что очень полезная весч

biophreak 04.12.2007 10:17

Дело понятное, что вещь полезная и жизнь облегчает :)
2scrat А чем они кривые в пыхе? :)

groundhog 04.12.2007 10:57

biophreak, в php4 ООП нету... :)

XopoIII 04.12.2007 11:04

=))) лучше примерчики бы выложили, а не флудили=)

biophreak 04.12.2007 12:53

groundhog Не, товарищь scrat написал
Цитата:

И вообще в пхп они кривые все.
Вот хочу мотивацию, чем же они так кривы? :)
В 4м пыхе нету, согласен, но вот чем они кривы в пятом? :)

groundhog 04.12.2007 13:01

Ну кривое - не кривое, но в пятом Php оно уже весьма близко к ООП других языков программирования. Есть все ключевые моменты, чтобы построить полноценное веб-приложение... С приходом Php6 ООП вообще не будет уступать своим сородичам по ООП.

Дикс 04.12.2007 15:38

с другой стороны написав класс и принявшись на нём ваять сайт, не раз задумаешься - а правильно ли ты написал класс. ведь нет гарантии, что класс сам по себе безглючный, чтобы писать и не задумываться. порой в нём оказывается не хватает нужной функции или вообще вся структура построения кривая, следовательно весь твой сайт можно выкинуть вместе с классом, потому что он уже никуда не годен.

groundhog 04.12.2007 15:44

Цитата:

с другой стороны написав класс и принявшись на нём ваять сайт, не раз задумаешься - а правильно ли ты написал класс. ведь нет гарантии, что класс сам по себе безглючный, чтобы писать и не задумываться. порой в нём оказывается не хватает нужной функции или вообще вся структура построения кривая, следовательно весь твой сайт можно выкинуть вместе с классом, потому что он уже никуда не годен.
Это ошибки проектирования... Они всегда будут если проектированием занимается человек далёкий от этого... Да и вообще, любой проект предполагает доработку, так что это не аргумент, Дикс... Если человек что-то делает неправильно, это его проблемы, а не технологии, которую он выбрал для разработки...

biophreak 05.12.2007 17:56

Дикс:
А если писать тоже самое без классов - нужно будет править ВСЕ, а не только класс :)))))
Если вы поняли о чем я ;)
Да и поправленное и правильно работающее можно будет потом юзать в других проектах, ты будешь знать, что оно работает так как тебе надо ;)


Время: 00:46