1. ООП
а) что есть ООП
б) плюсы ОПП
в) минусы ООП
2. Процедурное программирование
3. Функциональное программирование
<?php
var_dump(ООП);
?>
ООП — это методология
программирования, в основe которой
лежит принцип описания сущности
проектируемой системы и методов
в...
<?php
class ClassName{
// Свойство класса
private $text;
// Метод установки значения свойства
public function setText($tex...
<?php
class ParentClass{
protected $name;
function hello(){
echo "Hello, ";
}
function showName($text=null){
$this->name =...
<?php
abstract class Publication {
// определяем правило, что все публикации должны
печататься, т.е. иметь метод do_print(...
<?php
class News extends Publication {
// переопределяем абстрактный метод печати
public function do_print() {
echo '<h4>Н...
<?php
class Articles extends Publication {
// переопределяем абстрактный метод печати
public function do_print() {
echo '<...
<?php
$publications[] = new News();
$publications[] = new Article();
foreach ($publications as $publication) {
if ($public...
Начало программы
Команда 1
Команда 2
Команда 3
...
Команда N
Конец программы
Начало программы
Если выполнено условие, то вып. команду 1
иначе на команду 3
Команда 1
Команда 2
Команда 3
...
Команда N
...
Начало процедуры 1
Команда 1
Команда 2
Конец процедуры 1
Начало программы
Команда 1
Команда 2
Если выполнено условие, то в...
Начало процедуры 1 (Переменная 1:строка)
Команда 1
Команда 2
Конец процедуры 1
Начало программы
Команда 1
Команда 2
Если в...
Начало процедуры 1 (Переменная 1:Целое число)
Посчитать факториал числа, находящегося в
Переменная 1.
Вывести результат на...
Начало Функции 1 (Переменная 1: Целое число):
Целое число
Посчитать факториал числа, находящегося в
Переменная 1.
Вернуть ...
1. Лѐгок для изучения новичкам.
2. Лѐгок для работы.
3. Легко писать маленькие сайты-
визитки, там не нужен мощный
движок.
1. Плохо расширяемый.
2. Тяжело читаемый.
3. Не структурирован.
4. Повторение кода везде.
5. Сложно поддерживать
<?php
$chars = "qazxswedyujmkiolp12345690QAZXSWEDCUJMKIOLP";
$numpass = htmlspecialchars($_POST['numpass']);
$maxlength = ...
Функциональное программирование - это
парадигма программирования, в которой
выполнение программы представляет собой
вычисл...
<?php
function getFactorial($n){
if(!$n){
return("Факториал числа $n не существует.");
}
else{
if($n <= 1){return 1;}
retu...
<?php
function getFactorial($n){
if(!$n){
return("Факториал числа $n не существует.");
}
else{
if($n <= 1){return 1;}
retu...
<?php
$square = function($arg){
return $arg * $arg;
};
echo $square(4);//16
?>
<?php
$arg = 4;
$square = function() use($arg){
return $arg * $arg;
};
echo $square();//16
?>
<?php
$volume = function($length = 0, $width = 0, $height = 0) use($valume){
$getArgs = func_get_args();
$numArgs = func_n...
<?php
echo "Thank you for listening!";
?>
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Upcoming SlideShare
Loading in …5
×

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

407 views

Published on

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

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
407
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. 1. ООП а) что есть ООП б) плюсы ОПП в) минусы ООП 2. Процедурное программирование 3. Функциональное программирование
  2. 2. <?php var_dump(ООП); ?>
  3. 3. ООП — это методология программирования, в основe которой лежит принцип описания сущности проектируемой системы и методов взаимодействия между ними. При описании сущности используются такие понятия как класс и объект.
  4. 4. <?php class ClassName{ // Свойство класса private $text; // Метод установки значения свойства public function setText($text){ // Если надо - обработка ошибок $this->text = $text; } //Метод выборки значения свойства public function getText() { // Если надо - обработка ошибок return $this->text; } } ?>
  5. 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. 6. <?php abstract class Publication { // определяем правило, что все публикации должны печататься, т.е. иметь метод do_print() abstract public function do_print(); } ?>
  7. 7. <?php class News extends Publication { // переопределяем абстрактный метод печати public function do_print() { echo '<h4>Новость</h4>'; //... } } ?>
  8. 8. <?php class Articles extends Publication { // переопределяем абстрактный метод печати public function do_print() { echo '<h4>Статья</h4>'; //... } } ?>
  9. 9. <?php $publications[] = new News(); $publications[] = new Article(); foreach ($publications as $publication) { if ($publication instanceof Publication) { // Если мы работаем с наследниками Publication $publication->do_print(); //можно выводить данные на печать } else { //исключение или обработка ошибки } } ?>
  10. 10. Начало программы Команда 1 Команда 2 Команда 3 ... Команда N Конец программы
  11. 11. Начало программы Если выполнено условие, то вып. команду 1 иначе на команду 3 Команда 1 Команда 2 Команда 3 ... Команда N Конец программы
  12. 12. Начало процедуры 1 Команда 1 Команда 2 Конец процедуры 1 Начало программы Команда 1 Команда 2 Если выполнено условие, то выполнить код процедуры 1. Команда 3 Конец программы.
  13. 13. Начало процедуры 1 (Переменная 1:строка) Команда 1 Команда 2 Конец процедуры 1 Начало программы Команда 1 Команда 2 Если выполнено условие, то выполнить код процедуры 1. Команда 3 Конец программы
  14. 14. Начало процедуры 1 (Переменная 1:Целое число) Посчитать факториал числа, находящегося в Переменная 1. Вывести результат на экран. Конец процедуры 1 Начало программы Процедура1(10) Процедура1(5) Процедура1(8) Конец программы
  15. 15. Начало Функции 1 (Переменная 1: Целое число): Целое число Посчитать факториал числа, находящегося в Переменная 1. Вернуть результат расчета. Конец Функции 1 Начало программы Переменная 1:=Функция 1 (10) Переменная 2:=Функция 1 (5) Переменная 3:=Переменная 1+Переменная 2 Вывести на экран Переменную 3 Конец программы.
  16. 16. 1. Лѐгок для изучения новичкам. 2. Лѐгок для работы. 3. Легко писать маленькие сайты- визитки, там не нужен мощный движок.
  17. 17. 1. Плохо расширяемый. 2. Тяжело читаемый. 3. Не структурирован. 4. Повторение кода везде. 5. Сложно поддерживать
  18. 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. 19. Функциональное программирование - это парадигма программирования, в которой выполнение программы представляет собой вычисление некоторого выражения, описывающего применение функций (в математическом понимании) ко входным данным.
  20. 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. 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. 22. <?php $square = function($arg){ return $arg * $arg; }; echo $square(4);//16 ?>
  23. 23. <?php $arg = 4; $square = function() use($arg){ return $arg * $arg; }; echo $square();//16 ?>
  24. 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. 25. <?php echo "Thank you for listening!"; ?>

×