ООП против ПОП

Июль 21, 2008 / Автор sowich / Рубрики Программинг / Ответ

В настоящее время пошла большая популярность использования объектно-ориентированного программирования (далее ООП). И это не с проста. Я ни в коем случае не стану уговаривать всех использовать объектную модель данных, просто хочу немножко рассказать о данной технологии, или парадигме программирования, тут кто как называет.

 

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

 

  1. модульность в вашей cms
  2. актуально понятие мобильности кода
  3. модификация и дальнейшее сопровождение (нередко бывает что с кодом сталкиваются другие программисты).

 

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

 

Также становится актуальным понятие как АОП (аспектно-ориентированное программирование). Но этот вид мы не будем пока трогать так как он сложен для понимания впринципе (по крайней мере мне).

 

Вообще, ООП основано на 3 «механизмах»:

Инкапсуляция, полиморфизм и наследование.

 

Инкапсуляция – грубо говоря объединение методов обработки со свойствами объекта. И вследствие этого программиста работает со «связанным» объектом.

 

Полиморфизм – можно использовать одни и теже имена для похожих, но технически разных задач. Что-то наподобие производной, но очень очень в далеком смысле.

 

Наследование – когда свойство одного объекта становятся доступными другому объекту.

 

Можно привести простой пример с выводом «всемирной фразы» «Hello World!» в ПОП и ООП подходах.

 

ПОП:

<?

echo “Hello World!”;

?>

 

ООП:

<?

class first{

            function second(){

                        echo “Hello World!”;

            }

}

 

$obj = new first;

$obj->second();

?>

 

Оба примера выведут фразу «Hello World!»

 

Статьей по этому поводу куча в Интернете, кто ничего не понял то поищите в яндексе или гугле 🙂

 

Ладно, всем чао!

 

p.s. Леха, сильно не пинать!!!

Комментарии закрыты.