Первая встреча студенческого клуба информационных...
DESCRIPTION
Тема: Объектно-ориентированное программированиеTRANSCRIPT
Основы
объектно-ориентированного программирования
Студенческий Клуб Информационных технологий, СГТУ
Антон ХействерВиталий Бархатов
Развитие языков программирования
Структурное программирование
Объектно –ориентированное программирование
2
• Любая программа представляет структуру, построенную из базовых конструкций
• Базовые конструкции могут быть вложены друг в друга
• Повторяющиеся фрагменты программы могут оформляться в виде подпрограмм
• Разработка программы ведётся пошагово, методом «сверху вниз».
3
Концепции структурного программирования
– Отсутствие связанности между данными и алгоритмами, обрабатывающими эти данные.
– Отсутствие возможности строго определить интерфейс взаимодействия с объектами
– Сложность расширения функционала существующих объектов
– Сложности при серийной обработке объектов4
Недостатки структурного программирования
Мало аргументов?
На тестирование программного продукта уходит до 50% всего времени разработки.
А дальнейшая поддержка?5
Первые принципы были предложены в языке Simula
в 1967 году
История ООП
6
Кристен Нюгор и Уле-Йохан Даль, создатели языка Simula
История ООП
7
Первым широко распространённым языком
объектно-ориентированного программирования стал язык
Smalltalk, созданный в 70-х годах.
Алан Кэй, автор Smalltalk
8
Популярность подхода
C
Java
C++
PHP
Basic
C#
Python
Perl
Delphi
JavaScript
9 из 10 используютобъектно-ориентированный подход
Основные понятия
9
ООП
КлассОбъект
Класс
Класс – это тип данных, определяемый пользователем, а также правила для взаимодействия с этими данными (методы).
10
Объект (экземпляр) – это отдельный представитель класса, имеющий конкретное состояние.
Объект
11
Концепции
ООПИнкапсуляция
Полиморфизм
Наследование
12
Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
Инкапсуляция
13
Интерфейс – это набор методов класса, доступных для использования другими классами.
Интерфейс класса
14
Наследование
Наследование – это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью.
Класс, от которого производится наследование, называется базовым или родительским. Новый класс –потомком, наследником или производным классом.
15
Транспорт
Наземный
Легковой Грузовой
Водный Воздушный
Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Полиморфизм
16
Вернемся к проблеме
17
Выход есть!
18
Быстрее исправлять баги
Проще вносить изменения
Снизить порог вхождения в код
ООП позволяет нам:
Следите за новостями
Группа ВКонтакте:
Студенческий клуб информационных технологий СГТУ
http://vkontakte.ru/club16158713
19