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

Like this? Share it with your network

Share

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

on

  • 144 views

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

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

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

Statistics

Views

Total Views
144
Views on SlideShare
131
Embed Views
13

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 13

http://solit.isoligorsk.org 13

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий Presentation 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!"; ?>