[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: function VS class
maximka787
Вчера позвонил заказчик и спросил как я программирую. Я ему объяснил. И тут он "ты не программируешь с помощью классов?" я озадачился, почитал книгу, разобрался и возник вопрос)
Я программирую более 2х лет. Объясните мне чем класс отличается от функции. Я всегда кодил только функциями, передавал в них параметры, и использовал в кодах DEFINE. Нафиг мне вообще классы сдались? Может это просто кому как удобнее кодить?



Спустя 3 минуты, 22 секунды (26.10.2010 - 18:09) DmitryOpalev написал(а):
Этим заказчиком был я... так вот ты где все узнаешь biggrin.gif biggrin.gif biggrin.gif
P.S. ответ не в тему, не банте пожалуйста))

Спустя 2 минуты, 28 секунд (26.10.2010 - 18:11) maximka787 написал(а):
Цитата (DmitryOpalev @ 26.10.2010 - 15:09)
Этим заказчиком был я... так вот ты где все узнаешь biggrin.gif biggrin.gif biggrin.gif

smile.gif) больше всего информации дали мне именно на этом форуме.

Спустя 6 минут, 6 секунд (26.10.2010 - 18:17) amazing написал(а):
http://php.su/learnphp/phpoo/?classes
Думаю так лучше будет

Спустя 3 минуты, 12 секунд (26.10.2010 - 18:20) maximka787 написал(а):
Я за час выучил уже все эти методы и могу программировать сам. Вопрос все равно остался открытым, чем отличаются методы?

Спустя 4 минуты, 6 секунд (26.10.2010 - 18:25) Invis1ble написал(а):
Еще один холивар? rolleyes.gif

Спустя 1 минута, 4 секунды (26.10.2010 - 18:26) DmitryOpalev написал(а):
Что это такое?

Спустя 1 минута, 14 секунд (26.10.2010 - 18:27) amazing написал(а):
Да бессмыслен тут холиварить, всем и все давно уже понятно...)

Спустя 6 минут, 24 секунды (26.10.2010 - 18:33) maximka787 написал(а):
Что понятно-то? Я спросил совета - есть ли отличия, или просто, кому как удобней. А то я начал сомневаться своей квалификации smile.gif

Спустя 23 минуты, 7 секунд (26.10.2010 - 18:56) Paha4 написал(а):
maximka787 класс это такая вещь которая служит посредник между клиентом т.е тобой и объектом , также класс предоставляет тебе доступ к свойствам и методам объекта. Методы они же функции, свойства они же переменные внутри класса, свойства и методы могут быть трех видов это public, protected, private, также есть такая вещь как static, но не об этом сейчас. Если же на бытовом уровне то класс это такая библиотека в которой собраны функции относящие к определенной предметной области, которые могут быть наследованы дочерними классами. wink.gif

Спустя 30 минут, 58 секунд (26.10.2010 - 19:27) maximka787 написал(а):
Цитата (Paha4 @ 26.10.2010 - 15:56)
maximka787 класс это такая вещь которая служит посредник между клиентом т.е тобой и объектом , также класс предоставляет тебе доступ к свойствам и методам объекта. Методы они же функции, свойства они же переменные внутри класса, свойства и методы могут быть трех видов это public, protected, private, также есть такая вещь как static, но не об этом сейчас. Если же на бытовом уровне то класс это такая библиотека в которой собраны функции относящие к определенной предметной области, которые могут быть наследованы дочерними классами. wink.gif

Ок, ты все правильно сказал. Я сделал выводы. Только не совсем ясно, зачем программируя 2 года с помощью функций и реализовав более 30 проектов переходить на классы, если и без них справлялся)

Ок спасибо всем)

Спустя 5 минут, 37 секунд (26.10.2010 - 19:33) amazing написал(а):
Ну если вы будете писать проекты в команде, то тут на смену процедурному подходу должен прийти ООП...

Спустя 7 минут, 55 секунд (26.10.2010 - 19:41) Paha4 написал(а):
amazing, необязательно, есть такой метод проектирование как XP, в не можно не использовать ООП парадигму, по понятным причинам... без классов можно обойтись, но с ними немного проще.

maximka787 в карму спасибо, бугага laugh.gif

Спустя 6 минут, 56 секунд (26.10.2010 - 19:48) amazing написал(а):
Можно и в скрипт из 4 строк класс запихнуть...Тут уж у кого какие предпочтения

Спустя 31 минута, 39 секунд (26.10.2010 - 20:19) Paha4 написал(а):
amazing вы про что?? О каких строках??? Мы сейчас про методы и парадигмы проектирования, а вы про стоки. Ладно не будем холиварить.

Спустя 48 минут, 15 секунд (26.10.2010 - 21:08) sergeiss написал(а):
Цитата (maximka787 @ 26.10.2010 - 19:05)
Я программирую более 2х лет...

Ежели ты за это время успешно и много сделал, не использую классы, то они тебе и не нужны wink.gif

На самом деле, "холиварные войны" на эту тему тут были уже. Не так давно последняя отгремела smile.gif Моё мнение такое: классы не особо нужны в ПХП, в отличие, например, от С++. Потому что скрипт запускается, отрабатывает и "умирает". И все данные, заложенные в классы, тоже исчезают.
Если же пишется прога на С++, то там эти данные могут "жить" и развиваться, изменяться, взаимодействовать с чем-то или кем-то... Там смысл есть работать с классами.

Спустя 14 минут, 34 секунды (26.10.2010 - 21:22) inpost написал(а):
maximka787
Посмотри, как устроен программный код(ООП, DOM) на JS, если в твоём проекте будет такая же структура - то да, ООП классный, если это будет обычный сайт-визитка или маленький интернет-магазин из 10-15 классов - то твой ООП будет полным бредом =)
window.document.body.getElementById().value.length => вот это красота ООП, а то, что творится у многих на их сайтах - убожество =)

Спустя 1 час, 43 секунды (26.10.2010 - 22:23) Paha4 написал(а):
Цитата (sergeiss @ 26.10.2010 - 18:08)
классы не особо нужны в ПХП, в отличие, например, от С++. Потому что скрипт запускается, отрабатывает и "умирает". И все данные, заложенные в классы, тоже исчезают.

тут спорно, к примеру возьмем пример, любой консольной и не консольной программы на C: получила набор информации, обработала, возвратила значения, вернулась в предыдущее состояние(не факт). php: получил набор информации, обработал, выдал. Практически тоже самое.

Цикл обработки информации везде один, получение, обработка,выдача. А уже как реализовать это и что сохранять для следующего сеанса это дела программиста. Имхо.

Спустя 21 минута, 16 секунд (26.10.2010 - 22:44) DmitryOpalev написал(а):
Ну...
php - интерпретатор
C++ - компилятор
тоже ИМХО biggrin.gif
Точного различия не помню, но типа php работет по каждой строке, выдал результат - и все. А С++ работает со всеми строками сразу. Грубо говоря, это в С++ сработает:
echo $hi;
$hi = "Привет";

Спустя 10 минут, 51 секунда (26.10.2010 - 22:55) Mizka написал(а):
причем вообще время жизни объекта к ООП или функциональному программированию? извиняюсь, но что за бред? тут сугубо различие реализации задачи... сделай класс который будет делегировать функции разработанные тобой ранее и заказчик будет доволен, будет ему ООП, а тебе переделывать ничего ненадо + познаешь ООП smile.gif ещё скажешь что использовал паттерн проектирования Facade (можешь почитать о нем для собственного развития, хотя там ничего интересного)

Спустя 44 минуты, 44 секунды (26.10.2010 - 23:40) Paha4 написал(а):
Mizka признаю, я начал издалека laugh.gif

Спустя 8 часов, 42 минуты, 58 секунд (27.10.2010 - 08:23) linker написал(а):
sergeiss
Ну почему же умирают, они могут жить например в кеше. А ты сможешь функцию в кэш запихнуть? Нет, а объект можно запихнуть, потом достать и использовать его методы. А почему именно C++, почему не просто С?


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.