Your SlideShare is downloading. ×
  • Like
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий

  • 100 views
Published

Василий Соловей, Солигорск. PHP-разработчик в в «Электронном Солигорске». …

Василий Соловей, Солигорск. PHP-разработчик в в «Электронном Солигорске».

«Минусы ООП на примере языка PHP». Development секция. Для разработчиков (начальный и средний уровень).
1. Что есть ООП (легкое повторение уже знакомого)
2. Лучше доверять авторитету мнения, чем мнению авторитета (во всем нужно разбираться основательно, а в ООП тем более)
3. Неизменная скупость в похвалах — верный признак посредственного ума (плюсы ООП)
4. Не все то солнышко, что блестит (основная часть доклада – минусы ООП)
5. Кто владеет информацией, тот владеет ситуацией (пояснение сути доклада:
доклад не принижает и не умоляет достоинств ООП он создан расширить кругозор)
«Начинать никогда не поздно!». Мотивационное выступление. На личном примере, я могу рассказать, что начинать никогда не поздно, и если есть желание – нет повода себе отказывать.
1. Путь в тысячу миль начинается с одного шага (с чего начать)
2. И на верном пути повстречаются распутья (как не сбиться с дороги начав)
3. Кто ты программист? (мой взгляд на программирование)
4. Успех – дитя настойчивости

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
100
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1. ООП а) что есть ООП б) плюсы ОПП в) минусы ООП 2. Процедурное программирование 3. Функциональное программирование
  • 2. <?php var_dump(ООП); ?>
  • 3. ООП — это методология программирования, в основe которой лежит принцип описания сущности проектируемой системы и методов взаимодействия между ними. При описании сущности используются такие понятия как класс и объект.
  • 4. <?php class ClassName{ // Свойство класса private $text; // Метод установки значения свойства public function setText($text){ // Если надо - обработка ошибок $this->text = $text; } //Метод выборки значения свойства public function getText() { // Если надо - обработка ошибок return $this->text; } } ?>
  • 5. <?php class ParentClass{ protected $name; function hello(){ echo "Hello, "; } function showName($text=null){ $this->name = $text; echo $this->name . '!'; } } class Child extends ParentClass{ } $obj_child = new Child; $obj_child->hello(); $obj_child->showName("BOB");//Hello, BOB! ?>
  • 6. <?php abstract class Publication { // определяем правило, что все публикации должны печататься, т.е. иметь метод do_print() abstract public function do_print(); } ?>
  • 7. <?php class News extends Publication { // переопределяем абстрактный метод печати public function do_print() { echo '<h4>Новость</h4>'; //... } } ?>
  • 8. <?php class Articles extends Publication { // переопределяем абстрактный метод печати public function do_print() { echo '<h4>Статья</h4>'; //... } } ?>
  • 9. <?php $publications[] = new News(); $publications[] = new Article(); foreach ($publications as $publication) { if ($publication instanceof Publication) { // Если мы работаем с наследниками Publication $publication->do_print(); //можно выводить данные на печать } else { //исключение или обработка ошибки } } ?>
  • 10. Начало программы Команда 1 Команда 2 Команда 3 ... Команда N Конец программы
  • 11. Начало программы Если выполнено условие, то вып. команду 1 иначе на команду 3 Команда 1 Команда 2 Команда 3 ... Команда N Конец программы
  • 12. Начало процедуры 1 Команда 1 Команда 2 Конец процедуры 1 Начало программы Команда 1 Команда 2 Если выполнено условие, то выполнить код процедуры 1. Команда 3 Конец программы.
  • 13. Начало процедуры 1 (Переменная 1:строка) Команда 1 Команда 2 Конец процедуры 1 Начало программы Команда 1 Команда 2 Если выполнено условие, то выполнить код процедуры 1. Команда 3 Конец программы
  • 14. Начало процедуры 1 (Переменная 1:Целое число) Посчитать факториал числа, находящегося в Переменная 1. Вывести результат на экран. Конец процедуры 1 Начало программы Процедура1(10) Процедура1(5) Процедура1(8) Конец программы
  • 15. Начало Функции 1 (Переменная 1: Целое число): Целое число Посчитать факториал числа, находящегося в Переменная 1. Вернуть результат расчета. Конец Функции 1 Начало программы Переменная 1:=Функция 1 (10) Переменная 2:=Функция 1 (5) Переменная 3:=Переменная 1+Переменная 2 Вывести на экран Переменную 3 Конец программы.
  • 16. 1. Лѐгок для изучения новичкам. 2. Лѐгок для работы. 3. Легко писать маленькие сайты- визитки, там не нужен мощный движок.
  • 17. 1. Плохо расширяемый. 2. Тяжело читаемый. 3. Не структурирован. 4. Повторение кода везде. 5. Сложно поддерживать
  • 18. <?php $chars = "qazxswedyujmkiolp12345690QAZXSWEDCUJMKIOLP"; $numpass = htmlspecialchars($_POST['numpass']); $maxlength = htmlspecialchars($_POST['maxlength']); if(проверка на валидность){ $size = strlen($chars) - 1; for ($i = 1; $i <= $numpass; $i++) { $password = null; for ($j = 1; $j <= $maxlength; $j++) { $password .= $chars[rand(0, $size)]; } echo $password . ‘<br/>’; } else{ echo ‘Incorrectly entered data!’; } ?>
  • 19. Функциональное программирование - это парадигма программирования, в которой выполнение программы представляет собой вычисление некоторого выражения, описывающего применение функций (в математическом понимании) ко входным данным.
  • 20. <?php function getFactorial($n){ if(!$n){ return("Факториал числа $n не существует."); } else{ if($n <= 1){return 1;} return $n * getFactorial($n-1); } } echo getFactorial(5);//120 ?>
  • 21. <?php function getFactorial($n){ if(!$n){ return("Факториал числа $n не существует."); } else{ if($n <= 1){return 1;} return $n * getFactorial($n-1); } } echo getFactorial(5);//120 ?>
  • 22. <?php $square = function($arg){ return $arg * $arg; }; echo $square(4);//16 ?>
  • 23. <?php $arg = 4; $square = function() use($arg){ return $arg * $arg; }; echo $square();//16 ?>
  • 24. <?php $volume = function($length = 0, $width = 0, $height = 0) use($valume){ $getArgs = func_get_args(); $numArgs = func_num_args(); if($numArgs == 3){ return $length * $width * $height; } elseif($numArgs < 3){ return function() use(&$volume, $getArgs){ $newArgs = array_merge($getArgs, func_get_args()); return call_user_func_array($volume, $newArgs); } else{ echo "Too many arguments!"; } }; $standardVolume = $volume(10); $vol = $standardVolume(5,5); ?>
  • 25. <?php echo "Thank you for listening!"; ?>