Здравствуйте. Просмотрел я тему ООП в учебнике, но не могу понять одного: зачем мне использовать классы, объекты, методы, если это можно сделать намного проще и бестрее без него? Результат - форма на странице. Точно такой же результат я могу получить и без использоавания классов, объектов и методов Подскажите зачем применять ООП, когда его применять и какие у него преимущества? Вот пример в учебнике: Form.inc PHP: <?php /* Имя класса: form * Описание: класс, создающий простую HTML-форму с * одним текстовым полем. Класс содержит 3 метода. */ class Form { var $fields=array(); # содержит имя поля var $processor; # имя программы обработки данных формы var $submit = "Отправить данные"; # имя кнопки Submit var $Nfields = 0 ; # количество полей формы /* Конструктор: передается имя сценария обработки данных * ($processor) и имя кнопки. */ function construct($processor, $submit) { $this->processor = $processor; $this->submit = $submit; } /* Функция отображения формы. */ function displayForm() { echo "<form action='{$this->processor}' method='post'>"; echo "<table width='100%'>"; for($j=0;$j<=sizeof($this->fields)-1;$j++) { echo "<tr><td align=\"right\"> {$this->fields[$j]['label']}: </td>\n"; echo "<td> <input type='text' name='{$this->fields[$j]['name']}'> </tdx/tr>\n"; } echo "<tr><td colspan=2 align='center'> <input type='submit' value= ' {$this->submit} ' ></td></tr>\n" ; echo "</table>"; /* Функция для добавления поля формы. Ее параметрами * являются имя и метка поля. */ function addField($name, $label) $this->fields[$this->Nfields]['name'] = $name; { $this->fields[$this->Nfields] [ 'label' ] = $label,- $this->Nfields = $this->Nfields + 1; } } ?> PHP: <?php /* Имя сценария: buildForm * Описание: использование класса Form для создания * простой HTML-формы. */ require_once ("form.inc"); echo "<html><head><title>ФopMa для добавления телефонного HOMepa</title></head><body>" ; $phone_form = new Form("process.php", "Отправить данные"); $phone_form->addField("first_name", "Имя"); $phone_form->addField("last_name", "Фамилия"); $phone_form->addField("phone", "Номер телефона"); echo "<hЗ>Пожалуйста, заполните поля данной формы:</h3>"; $phone_form->displayForm(); echo "</body></html>" ; ?>
host не надо вам его "применять". Делайте как проще, быстрее и удобнее. Тем более не надо учиться по устаревшей литературе. А когда будет надо, вы сами поймете что, зачем и почему.
Davil просто скажите, вообще для чего он, чтобы у меня было общее представление о нем, точнее в каких целях его нужно применять PS Ну написано что Учебник для PHP 5, 2005г
stas_t на чём ты будешь проэктировать под процедурное програмирование если не секрет? ~~ Моделировать под ООП намного проще.
Сам сталкивался с 2мя методами: 1 - JSP(Jackson's structure programming) для процедурного 2 - UML для OOP UML намного более удобен
нарисую последовательность экранов в ppoint-е, определю основные формы ввода/вывода, таблицы и команды м-в-к, заверю у заказчика и банко! а вы?
Кустарные методы проэктировки это конечно то что надо, заказчик будет доволен Только не забывай, что проэктированием систем в больших проэктах занимаются не програмисты, а аналитики. Какой имеющийся стандарт подходит для процедурного, который будет более удобен, чем UML ? Можно на ты, я думаю младше вас буду "Ипостасей"? Выражайся яснее ... При проэктировании используется не 1 "предпочтительная диаграмма", а их совокупность. Насколько я понимаю , тебя УМЛ чем-то не устраивает? Можно узнать чем ? Изобретать отсебятину конечно удобнее, но только будет ли это удобно для других? Для этого и существуют стандарты ...
Davil Какой воздух лучше, сельский или городской? А вообще это аргумент из категории "ООП лучше, потому что он лучше".
Amian Если это так, то это глупость, ибо проектированием больших систем должны заниматься и аналитики, и программисты, чтобы вторые могли вовремя остановить первых, если первые допустят очевидный ляп при проектировании. Если к проектированию приложения подходить только "сверху", не продумывая сразу деталей реализации, такой проект превратится в головную боль для программистов впоследствии.
Dagdamor При создании таможни для EU на Java это так Само собой там есть все необходимые проверки чтобы не было ляпов, но рядовые программисты к этому не причастны.
ну да Рассматривать надо начинать с проэктирования, иначе всё сводится к подобному: A: "Покажи мне как ты создаш 10 одинаковых обьектов без ООП" B: "А нафига мне обьекты в процедурном ?" :lol:
Amian Звучит как отмазка но я не спорю. Я в действительно крупном проекте участвовал только один раз (и при проектировании участвовала целая команда программистов, что потом вполне окупилось).