Василий Соловей, Солигорск. PHP-разработчик в в «Электронном Солигорске».
«Минусы ООП на примере языка PHP». Development секция. Для разработчиков (начальный и средний уровень).
1. Что есть ООП (легкое повторение уже знакомого)
2. Лучше доверять авторитету мнения, чем мнению авторитета (во всем нужно разбираться основательно, а в ООП тем более)
3. Неизменная скупость в похвалах — верный признак посредственного ума (плюсы ООП)
4. Не все то солнышко, что блестит (основная часть доклада – минусы ООП)
5. Кто владеет информацией, тот владеет ситуацией (пояснение сути доклада:
доклад не принижает и не умоляет достоинств ООП он создан расширить кругозор)
«Начинать никогда не поздно!». Мотивационное выступление. На личном примере, я могу рассказать, что начинать никогда не поздно, и если есть желание – нет повода себе отказывать.
1. Путь в тысячу миль начинается с одного шага (с чего начать)
2. И на верном пути повстречаются распутья (как не сбиться с дороги начав)
3. Кто ты программист? (мой взгляд на программирование)
4. Успех – дитя настойчивости
4. ООП — это методология
программирования, в основe которой
лежит принцип описания сущности
проектируемой системы и методов
взаимодействия между ними. При
описании сущности используются
такие понятия как класс и объект.
5.
6. <?php
class ClassName{
// Свойство класса
private $text;
// Метод установки значения свойства
public function setText($text){
// Если надо - обработка ошибок
$this->text = $text;
}
//Метод выборки значения свойства
public function getText() {
// Если надо - обработка ошибок
return $this->text;
}
}
?>
7. <?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!
?>
8. <?php
abstract class Publication {
// определяем правило, что все публикации должны
печататься, т.е. иметь метод do_print()
abstract public function do_print();
}
?>
9. <?php
class News extends Publication {
// переопределяем абстрактный метод печати
public function do_print() {
echo '<h4>Новость</h4>';
//...
}
}
?>
10. <?php
class Articles extends Publication {
// переопределяем абстрактный метод печати
public function do_print() {
echo '<h4>Статья</h4>';
//...
}
}
?>
11. <?php
$publications[] = new News();
$publications[] = new Article();
foreach ($publications as $publication) {
if ($publication instanceof Publication) {
// Если мы работаем с наследниками Publication
$publication->do_print();
//можно выводить данные на печать
}
else {
//исключение или обработка ошибки
}
}
?>
21. Начало программы
Если выполнено условие, то вып. команду 1
иначе на команду 3
Команда 1
Команда 2
Команда 3
...
Команда N
Конец программы
22. Начало процедуры 1
Команда 1
Команда 2
Конец процедуры 1
Начало программы
Команда 1
Команда 2
Если выполнено условие, то выполнить код
процедуры 1.
Команда 3
Конец программы.
23. Начало процедуры 1 (Переменная 1:строка)
Команда 1
Команда 2
Конец процедуры 1
Начало программы
Команда 1
Команда 2
Если выполнено условие, то выполнить код
процедуры 1.
Команда 3
Конец программы
24. Начало процедуры 1 (Переменная 1:Целое число)
Посчитать факториал числа, находящегося в
Переменная 1.
Вывести результат на экран.
Конец процедуры 1
Начало программы
Процедура1(10)
Процедура1(5)
Процедура1(8)
Конец программы
25. Начало Функции 1 (Переменная 1: Целое число):
Целое число
Посчитать факториал числа, находящегося в
Переменная 1.
Вернуть результат расчета.
Конец Функции 1
Начало программы
Переменная 1:=Функция 1 (10)
Переменная 2:=Функция 1 (5)
Переменная 3:=Переменная 1+Переменная 2
Вывести на экран Переменную 3
Конец программы.
26. 1. Лѐгок для изучения новичкам.
2. Лѐгок для работы.
3. Легко писать маленькие сайты-
визитки, там не нужен мощный
движок.
27. 1. Плохо расширяемый.
2. Тяжело читаемый.
3. Не структурирован.
4. Повторение кода везде.
5. Сложно поддерживать
30. Функциональное программирование - это
парадигма программирования, в которой
выполнение программы представляет собой
вычисление некоторого
выражения, описывающего применение
функций (в математическом понимании) ко
входным данным.