SlideShare a Scribd company logo
1 of 5
Download to read offline
ООП 
Что же такое ООП?  
ООП — это методология программирования, в основеве которой лежит принцип 
описания сущносте проектируемой системы и методов взаимодействия между ними. 
При описании сущности испольется такие понятия как класс и объект. 
 
Основные понятия 
Класс  
Под понятие «Класс» принято понимать нейкий шаблон с описанием 
свойств(переменнных) и методов(функций), которыми может обладать нейкая 
сущность в системе.  
 
Объект   
Сущность в адресном пространстве вычислительной системы, появляющаяся при 
создании экземпляра класса или копирования прототипа (например, после запуска 
результатов компиляции и связывания исходного кода на выполнение).  
Абстракция   
Абстрагирование — это способ выделить набор значимых характеристик объекта, 
исключая из рассмотрения незначимые. Соответственно, абстракция — это 
набор всех таких характеристик. 
Инкапсуляция   
Инкапсуляция — это свойство системы, позволяющее объединить данные и 
методы, работающие с ними в классе, и скрыть детали реализации от 
пользователя. 
Наследование   
Наследование — это свойство системы, позволяющее описать новый класс на 
основе уже существующего с частично или полностью заимствующейся 
функциональностью. Класс, от которого производится наследование, называется 
базовым, родительским или суперклассом. Новый класс — потомком, 
наследником или производным классом.  
Полиморфизм  
Полиморфизм — это свойство системы использовать объекты с одинаковым 
интерфейсом без информации о типе и внутренней структуре объекта. 
 
Реализация ООП в PHP 
 
Описание классов в PHP начинаются служебным словом class: 
class Имя_класса { 
// описание членов класса ­ данных и методов для их обработки 
} 
Для объявления объекта необходимо использовать оператор new: 
Объект = new Имя_класса; 
Данные описываются с помощью служебного слова var. Метод описывается так же, как 
и обыкновенная функция. Методу также можно передавать параметры.  
Пример класса на PHP: 
<?php 
// Создаем новый класс Coor: 
class Coor { 
// данные (свойства): 
public $name; 
protected $addr; 
 
// методы: 
 function Name() { 
 echo "<h3>John</h3>"; 
 } 
 
} 
 
// Создаем объект класса Coor: 
$object = new Coor; 
?> 
Доступ к классам и объектам в PHP 
Мы рассмотрели, каким образом описываются классы и создаются объекты. Теперь 
нам необходимо получить доступ к членам класса, для этого в PHP предназначен 
оператор ­>. Приведем пример: 
<?php 
// Создаем новый класс Coor: 
class Coor { 
// данные (свойства): 
public $name; 
 
// методы: 
 function Getname() { 
 echo "<h3>John</h3>"; 
 } 
 
} 
 
// Создаем объект класса Coor: 
$object = new Coor; 
// Получаем доступ к членам класса: 
$object­>name = "Alex"; 
echo $object­>name; 
// Выводит 'Alex' 
// А теперь получим доступ к методу класса (фактически, к функции внутри клас
са): 
$object­>Getname(); 
// Выводит 'John' заглавными буквами 
?> 
Чтобы получить доступ к членам класса внутри класса, необходимо использовать 
указатель $this, который всегда относится к текущему объекту. Модифицированный 
метод Getname(): 
function Getname() { 
echo $this­>name; 
} 
Таким же образом, можно написать метод Setname(): 
function Setname($name) { 
$this­>name = $name; 
} 
Теперь для изменения имени можно использовать метод Setname(): 
$object­>Setname("Peter");  
$object­>Getname(); 
А вот и полный листинг кода: 
<?php 
// Создаем новый класс Coor: 
class Coor { 
// данные (свойства): 
public $name; 
 
// методы: 
 function Getname() { 
 echo $this­>name; 
 } 
 
 function Setname($name) { 
 $this­>name = $name; 
 } 
 
} 
 
// Создаем объект класса Coor: 
$object = new Coor; 
// Теперь для изменения имени используем метод Setname(): 
$object­>Setname("Nick"); 
// А для доступа, как и прежде, Getname(): 
$object­>Getname(); 
// Сценарий выводит 'Nick' 
?> 
Указатель $this можно также использовать для доступа к методам, а не только для 
доступа к данным: 
function Setname($name) { 
$this­>name = $name; 
$this­>Getname(); 
}  
 
Наследование и полиморфизм классов в PHP 
Наследование классов в PHP 
Наследование ­ это не просто создание точной копии  существующего класса, чтобы 
потомок мог выполнять такойже функционал, плюс какие­нибудь новые, характерные 
только ему функции. Рассмотрим конкретный пример на PHP: 
<?php 
class Parent { 
function parent_funct() { echo "<h1>Это родительская функция</h1>"; } 
function test () { echo "<h1>Это родительский класс</h1>"; } 
} 
 
class Child extends Parent { 
function child_funct() { echo "<h2>Это дочерняя функция</h2>"; } 
function test () { echo "<h2>Это дочерний класс</h2>"; } 
} 
 
$object = new Parent; 
$object = new Child; 
 
$object­>parent_funct(); // Выводит 'Это родительская функция' 
$object­>child_funct(); // Выводит 'Это дочерняя функция' 
$object­>test(); // Выводит 'Это дочерний класс' 
?> 
Ключевое слово extends (см. пример) говорит о том, что дочерний класс Child 
наследует все методы и свойства класса Parent. Родительский класс обычно называют 
базовым классом или суперклассом, а дочерний класс Child ­ производным или 
подклассом. 
Полиморфизм классов в PHP 
Полиморфизм ­ это свойство базового класса использовать функции производных 
классов. Практический пример, показывающий свойство класса ­ полиморфизм: 
<?php 
class Base { 
 function funct() { 
 echo "<h2>Функция базового класса</h2>"; 
 } 
 function base_funct() { 
 $this­>funct(); 
 } 
} 
 
class Derivative extends Base { 
 function funct() { 
 echo "<h3>Функция производного класса</h3>"; 
 } 
} 
 
$b = new Base(); 
$d = new Derivative(); 
 
$b­>base_funct(); 
$d­>funct(); 
$d­>base_funct(); 
// Скрипт выводит: 
 
// Функция базового класса 
// Функция производного класса 
// Функция производного класса 
?> 
В рассмотренном примере функция base_funct() класса Base была перезаписана 
одноименной функцией класса Derivative. Функция, переопределенная таким образом, 
называется виртуальной. 
Все минусы и плюсы более подробно будут описаны в перзентации 
Плюсы ООП 
 считаю, что основными и ярко вырвженными плюсами являются: 
1. Класс универсален для создаваемых  объектов и их может быть большое 
количество. 
2. Инкапсуция 
3. Наследование 
 
 
Минусы: 
1. Сложность пониманиия. 
2. Избытачность кода — приложение на ООП как правило больше 
3. Нреобретение ненужного функционала классами наследниками при расширении 
родительского класса. 
4. Если допустить ошибку на этапе разработке архитектуры приложения потом сложно 
«вклинится» и что то поменять. Если уже возведен n­й этаж сложно сделать подвал с 
автомобильной парковкой) 
5. Проектирование класса требует большого опыта. Это итеративный процесс, где 
приходится учиться на своих же ошибках.  
+ несколько вырезок из статьи: http://blogerator.ru/page/oop_why­objects­have­failed 
В презентации каждый из пунктов будет раскрыт подробно  и с примерами 

More Related Content

More from solit

Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...solit
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...solit
 
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович ЮлияSolit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович Юлияsolit
 
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...solit
 
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...solit
 
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко АнтонSolit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антонsolit
 
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter ReitsmaSolit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsmasolit
 
Solit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов АлександрSolit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов Александрsolit
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...solit
 
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...solit
 
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...solit
 
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...solit
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...solit
 
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...solit
 
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил solit
 
Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...
Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...
Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...solit
 
Solit 2014, EcmaScript 6 in Action, Трухин Юрий
Solit 2014, EcmaScript 6 in Action, Трухин Юрий Solit 2014, EcmaScript 6 in Action, Трухин Юрий
Solit 2014, EcmaScript 6 in Action, Трухин Юрий solit
 
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей ВасилийSolit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василийsolit
 
Solit 2014, Законы психологии при создании IT-продуктов, Марченко Антон
Solit 2014, Законы психологии при создании IT-продуктов, Марченко АнтонSolit 2014, Законы психологии при создании IT-продуктов, Марченко Антон
Solit 2014, Законы психологии при создании IT-продуктов, Марченко Антонsolit
 
Solit 2014, Как создать продукт, как запустить стартап?, Граков Алексей
Solit 2014, Как создать продукт, как запустить стартап?, Граков АлексейSolit 2014, Как создать продукт, как запустить стартап?, Граков Алексей
Solit 2014, Как создать продукт, как запустить стартап?, Граков Алексейsolit
 

More from solit (20)

Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
 
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович ЮлияSolit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
 
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
 
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
 
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко АнтонSolit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
 
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter ReitsmaSolit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
 
Solit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов АлександрSolit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов Александр
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
 
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
 
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
 
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
 
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
 
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
Solit 2014, Зачем нужен филиал Creative Сommons в Беларуси?, Волчек Михаил
 
Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...
Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...
Solit 2014, Наивный заказчик Vs. лживый seo. Как распознать seo-мошенника: ин...
 
Solit 2014, EcmaScript 6 in Action, Трухин Юрий
Solit 2014, EcmaScript 6 in Action, Трухин Юрий Solit 2014, EcmaScript 6 in Action, Трухин Юрий
Solit 2014, EcmaScript 6 in Action, Трухин Юрий
 
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей ВасилийSolit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
 
Solit 2014, Законы психологии при создании IT-продуктов, Марченко Антон
Solit 2014, Законы психологии при создании IT-продуктов, Марченко АнтонSolit 2014, Законы психологии при создании IT-продуктов, Марченко Антон
Solit 2014, Законы психологии при создании IT-продуктов, Марченко Антон
 
Solit 2014, Как создать продукт, как запустить стартап?, Граков Алексей
Solit 2014, Как создать продукт, как запустить стартап?, Граков АлексейSolit 2014, Как создать продукт, как запустить стартап?, Граков Алексей
Solit 2014, Как создать продукт, как запустить стартап?, Граков Алексей
 

Solit 2014, ООП, Соловей Василий