Хороший тон при использовании ООП

core

Guest
Автор оригинала: svetasmirnova
Рома, я поняла. Я хочу сказать, что вся эта боязнь использовать что-то не так, якобы не по назначению только сковывает руки. Сам посмотри что ему уже ответили:
>если ты этого не понимаешь, то скорее всего оно тебе не нужно
>Возможно, стоит еще почтать что-нибудь про ООП.
>потому что я вижу, что ты не очень понимашеь зачем тебе это и вообще что это такое.

Это, конечно всё правильно. Только когда писать-то начинать? И меня очень бесит заблуждение, что к ООП надо проходить через опыт структурного программирования.

Насчёт с чего начать... Лучше всего придумать интересную для себя задачку и решить её новым способом.

совсем сопли распустив...
Вот чем мне нравится программирование, так это тем, что любую задачу можно решить несколькими способами. (Надо было закончить предложение на словах "можно решить")

-~{}~ 05.09.05 17:00:

Как долго я ответ писала :)
Ну например задачку такую как создать класс mysql ну в нем сделать пару методов такие как подконектится и ретурнить матрицу значений без проблем, а что мне дальше делать :) Я просто Хочу понять СТРУКТУРУ как правильно ее реализуют :)

Да и хотел узнать стоит ли использовать структурное программирование с ООП в салянке

-~{}~ 05.09.05 17:08:

Ну вопрос лучше сформулирую подругому "Технология разработки и ООП"
 

svetasmirnova

маленький монстрик
А дальше его использовать. Причём можно в самом простом приложении. Т.е. так как ты раньше писал.
И в книжках примеры ведь были?
 

core

Guest
Автор оригинала: nw
Самый лучший вариант начала работы с ООП. Я к примеру начал изучать ООП в PHP, когда мне дали код который нужно было сопровождать и развивать. Код был в объектном стиле. Вот и пришлось подтягиваться :)
Кинь мне кодик главного модуля и саб модули :)
Меня это заинтересовало

-~{}~ 05.09.05 17:11:

Автор оригинала: svetasmirnova
А дальше его использовать. Причём можно в самом простом приложении. Т.е. так как ты раньше писал.
И в книжках примеры ведь были?
Да они скушные :)

Лучше какую нибудь дубину разбирать
ну там пол админилки
 

Screjet

Новичок
Мдя помоему я точно изложил и рекомендую посмотреть мануал что есть не только методы но и обычные функции на Паскале есть даже процедуры
Поэтому у тебя ничего не получается.
что мне писать его когда и так понятно мне описать на данном этапе какой нибудь класс на много проще чем правильно его использовать
Я понял. Процесс флейма для тебя более существенный, чем процесс развития.
Сорри за вмешательство.
 

core

Guest
Автор оригинала: Screjet
Поэтому у тебя ничего не получается.
Я понял. Процесс флейма для тебя более существенный, чем процесс развития.
Сорри за вмешательство.
Так ты считаешь что функций не существует в php что только методы ?

Да если не лезть в пекла потом будешь смотреть на угольки
 

core

Guest
Автор оригинала: Screjet
В ООП не существует. Ф-ции объекта = это методы.
Если ты прочитаешь внимательно то поймешь в чем дело

вот на примере показываю

function application_run() {
$smarty = new smarty;
return "mda";
}

application_run(); - это функция и шла речь об этом то что грамотно так делать или нет

-~{}~ 05.09.05 17:28:

Автор оригинала: svetasmirnova
А дальше его использовать. Причём можно в самом простом приложении. Т.е. так как ты раньше писал.
И в книжках примеры ведь были?
Сорри есть линк на тему "ТЕХНОЛОГИЯ РАЗРАБОТКИ И ООП"
спасибка заранее

-~{}~ 05.09.05 17:37:

Автор оригинала: core
Если ты прочитаешь внимательно то поймешь в чем дело

вот на примере показываю

function application_run() {
$smarty = new smarty;
return "mda";
}

application_run(); - это функция и шла речь об этом то что грамотно так делать или нет

-~{}~ 05.09.05 17:28:


Сорри есть линк на тему "ТЕХНОЛОГИЯ РАЗРАБОТКИ И ООП"
спасибка заранее
Походу я пришел в тупик где уже не требуются знания ООП а требуеться использование. Просто когда я использоваю ООП то часто правлю код оптимизирую и незнаю как то пишу чтоб было все ок вот поэтому встал этот вопрос
 

Screjet

Новичок
application_run(); - это функция и шла речь об этом то что грамотно так делать или нет
Делай так как тебе нравится. Я бы сделал вот как:
PHP:
class application {

  function __construct(){
    $this->smarty = new smarty();
  }

  function run(){
    //...
    return "mda";
  }
}

$app = new application();
echo $app->run();
 

svetasmirnova

маленький монстрик
Screjet
:)
core
вот на примере показываю

function application_run() {
$smarty = new smarty;
return "mda";
}
нехороший пример: из него неочевидно, чей вариант лучше твой или Screjet

Вот задачка тебе. Перевираю из учебника "С++ для чайников"

Дана торговая точка. Берут рубли и зелень. Причём можно заплатить за один товар часть рублями, а часть долларами. Нужно разработать калькулятор для продавца этой точки.
Очевидно, что отношение 100 рублей + 100 долларов не равно ни 200 рублям, ни 200 долларам. То есть нам потребуется также курс.
Калькулятор должен уметь рассчитывать сколько надо доплатить в одной валюте, если известна стоимость товара и сколько покупатель хочет заплатить в другой.

-~{}~ 05.09.05 20:11:

Кстати, можешь попробовать её решить при помощи двух упомянутых подходов.
 

core

Guest
Автор оригинала: svetasmirnova
Screjet
:)
core

нехороший пример: из него неочевидно, чей вариант лучше твой или Screjet

Вот задачка тебе. Перевираю из учебника "С++ для чайников"

Дана торговая точка. Берут рубли и зелень. Причём можно заплатить за один товар часть рублями, а часть долларами. Нужно разработать калькулятор для продавца этой точки.
Очевидно, что отношение 100 рублей + 100 долларов не равно ни 200 рублям, ни 200 долларам. То есть нам потребуется также курс.
Калькулятор должен уметь рассчитывать сколько надо доплатить в одной валюте, если известна стоимость товара и сколько покупатель хочет заплатить в другой.

-~{}~ 05.09.05 20:11:

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

вот был вопрос:
-------------------------------------------------------------------------------
Ну например использование смеси объекты и функции ну тоесть создавать в функциях объекты и творить что с ними пожелаешь это допустимо?

--------------------------------------------------------------------------------


Да, допустимо. Всё допустимо что нужно.

И потом использование того или иного варианта в зависимости от того что я хочу сделать не всегда 2 вариант лучший

-~{}~ 06.09.05 10:25:

Автор оригинала: core
Хочу отметить что вопрос не состоял в том что лучше тот или иной вариант читайте топ вниматоельно. Да и потом когда я задал вопрос так делать можно ты сказала да :)
Вот Screjet тоже написал что функций нет, есть в методы но он прочитал тоже топ не очень внимательно речь шла о функциях ну вот лишние вскакивают фразы.

вот был вопрос:
-------------------------------------------------------------------------------
Ну например использование смеси объекты и функции ну тоесть создавать в функциях объекты и творить что с ними пожелаешь это допустимо?

--------------------------------------------------------------------------------


Да, допустимо. Всё допустимо что нужно.

И потом использование того или иного варианта в зависимости от того что я хочу сделать не всегда 2 вариант лучший
Хочу повторить основной вопрос состоял в том как правильно реализовывать проекты используя ООП и учитывая Технологию разработки, есть какие нибудь линки на такую тематику ну там кодик посмотреть и теорию посмотреть
 

Gas

может по одной?
core
Посмотри уже готовые проекты, например,
http://limb-project.com/root
http://www.phpmvc.net/

почитай литературку, типа
http://www.ozon.ru/context/detail/id/87972/
http://www.ozon.ru/context/detail/id/115172/
http://www.ozon.ru/context/detail/id/1616782/

и на форуме http://phpclub.ru/talk/search.php?s=&action=showresults&searchid=752048&sortby=after&sortorder=descending, а в рамках одного топика разложить всё на пальцах врят-ли получиться
 

core

Guest
Автор оригинала: Gas
core
Посмотри уже готовые проекты, например,
http://limb-project.com/root
http://www.phpmvc.net/

почитай литературку, типа
http://www.ozon.ru/context/detail/id/87972/
http://www.ozon.ru/context/detail/id/115172/
http://www.ozon.ru/context/detail/id/1616782/

и на форуме http://phpclub.ru/talk/search.php?s=&action=showresults&searchid=752048&sortby=after&sortorder=descending, а в рамках одного топика разложить всё на пальцах врят-ли получиться
Спасибо вроде разобрался во многом ча уже пишу. Надо заглянуть может там еще че полезного найду
 

t3[0one]

Новичок
Re: Хороший тон при использовании ООП

Автор оригинала: core
Впринципе создавать научился передавать данные тоже с доступом разобрался осталось только использовать. Вопрос весьма возможно не совсем сразу станет понятным но постараюсь изложить:
Раньше использовал обычное структурное программирование ну к примеру:

function a() {. . .}
function b() {. . .}
function c() {. . .}

function start_application() {
a();
b();
c();
}

start_application();
_________________________________________

ну как я изучил основы ООП то столкнулся с проблемой как правильно их использовать, ну на функциях я вродебы изложил а на Классах???:mad:

Заранее всем спасибо :)
один из способов
PHP:
class test{

function a() {. . .}
function b() {. . .}
function c() {. . .}

function start_application() {
   $this->a();
   $this->b();
   $this->c(); 
}

}
$testim = new test();
$testim->start_application();
 

svetasmirnova

маленький монстрик
Опять я со своим флудом =)
Вот читаю листинги как t3[0one] написал и вспоминаю рассуждения о том, что ООП - это когда всё через getX, setX делаешь. Отсюда появляется логичный вопрос: "А смысл?" И ответить-то нечем. Да чем объектнее этот листинг первоначального?
ООП - это способ мыслей, а не написание кода при помощи классов.
 

Stm

Новичок
svetasmirnova
смысл есть - инкапсуляция, завтра я решу, что хорошо бы проверять какие данные пытаются передать моему объекту, как ты это сделаешь, если происходит обращение к данным напрямую $obj->x = $xx, а не через setX в которой можно произвести проверку? а после завтра я решу что x не нужен, а нужен y = f( x ), с помощью getX и setX я смогу отображать y <=> x и внешне ничего не изменится, в случае прямого обращения эта часть объекта не может больше меняться.
 

Gas

может по одной?
Stm
камень в огород set/get никто не кидал, смысл в том - что наличие в проекте одного-двух классов не переводит его автоматически в разряд объектно ориентированных.
 

Макс

Старожил PHPClub
Stm
в случае с ПХП это решается через __get() / __set() методы :)
 

Нечто

Психолог РНРClub
Stm
Мне кажется, что svetasmirnova говорила, не о бесполезности инкапсуляции, а о том, что некоторые называют свой код "объектным" только потому, что пишут классами и методами get/set. То есть семантика и синтаксис - от ООП, а самих идей, "объектности" нет.

Кстати, imho, инкапсуляция в тех ситуациях, где чаще всего используется PHP, все же не так полезна. Код раздувается, а реальная необходимость возникает редко, т.к. завтра из "завтра решу" в большинстве PHP-проектов так и не наступает. Ну а если все же наступит, то есть find&replace или перегрузка get/set.

/edit опоздал =)
 

Stm

Новичок
Макс
синтаксис вторичен, ключекое слово методы.
с тем что: автоматически не становится и завтра так и не наступает согласен :)
 
Сверху