Презентация на тему: Основы ООП

Основы ООП
Содержание
Процедурный стиль
Концепции ООП
Абстракция
Реализация концепций ООП
Наследование
Наследование классов
Инкапсуляция
Инкапсуляция
Абстрактные классы
Интерфейсы в общем их понимании
Интерфейсы в Java
Абстрактные классы и интерфейсы
Абстрактные классы и интерфейсы
Объекты
Объекты
Работа с объектом
Конструктор
Минусы ООП
Мотивация
Основы ООП
1/22
Средняя оценка: 4.4/5 (всего оценок: 86)
Код скопирован в буфер обмена
Скачать (381 Кб)
1

Первый слайд презентации: Основы ООП

© Составление, Суров М. Ю., 2009

Изображение слайда
2

Слайд 2: Содержание

Введение Концепции ООП Реализация концепций ООП Инкапсуляция Наследование классов и полиморфизм Реализация ООП в Java ( абстрактные классы, интерфейсы ) Объекты (инициализация, работа с объектами, конструкторы)

Изображение слайда
3

Слайд 3: Процедурный стиль

Память Процедура 1 Процедура 2 Процедура 3 Входные данные Результат работы процедур

Изображение слайда
4

Слайд 4: Концепции ООП

Объектно-ориентированное программирование (ООП) – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является реализацией определённого класса. ООП базируется на следующих принципах: Абстракция Инкапсуляция Наследование Полиморфизм

Изображение слайда
5

Слайд 5: Абстракция

острый прямой треугольник круг элипс Абстрагирование  — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Абстракция — это набор всех таких характеристик. Процесс выделения более точных абстракций из более общих называется декомпозированием геометрическая фигура

Изображение слайда
6

Слайд 6: Реализация концепций ООП

Основным понятием является класс – абстрактная модель некоего предмета.

Изображение слайда
7

Слайд 7: Наследование

Наследование  — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом. Класс 1 Свойство1 Свойство2 Класс 2 Свойство1 Свойство2 Свойство3 базовый потомок отнаследовано новое

Изображение слайда
8

Слайд 8: Наследование классов

Классы можно наследовать друг от друга : public class Parent { public int sum(int x, int y) { return x+y; } } public class Child extends Parent { public int sum(int x, int y) { // >>> можно переопределить <<<< // например: return x+x; } }

Изображение слайда
9

Слайд 9: Инкапсуляция

Отделение (сокрытие) внутреннего устройства (данных и вспомогательных операций) от поведения (доступных операций) Положительные стороны гибкость – можем менять внутреннее строение, не меняя поведение безопасность – запрещаем и / или ограничиваем доступ к данным объекта простота – меньше доступных операций - > легче использовать и понимать Реализация инкапсуляции Методы доступа к полям get FieldName / set FieldName boolean – isFieldName Поля модификатор private (или protected ) Модификатор final повышает скорость

Изображение слайда
10

Слайд 10: Инкапсуляция

private protected public доступно только в этом классе доступно в этом классе и наследниках доступно всем

Изображение слайда
11

Слайд 11: Абстрактные классы

public abstract class SimpleClass { public abstract void emptyMethod(); } абстрактные классы – эти классы представляют собой не до конца реализованную модель какого-либо предмета

Изображение слайда
12

Слайд 12: Интерфейсы в общем их понимании

Интерфейс – семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг, предоставляемых классом или компонентом Интерфейс – описание функционала Интерфейс – граница взаимодействия между классами или компонентами Интерфейс не содержит реализации Интерфейс не может инстанцировать объект Суть: Интерфейс это контракт налагемый на реализацию (класс, компонент)

Изображение слайда
13

Слайд 13: Интерфейсы в Java

Класс может наследоваться только от одного класса, независимо от того, является ли класс-родитель аб c трактным, при этом класс может реализовывать любое число интерфейсов, переопределяя их методы public interface Interface { public void simpleMethod(); } Интерфейс представляет собой некий облегчённый аналог класса: он не содержит полей и не содержит методов с реализацией

Изображение слайда
14

Слайд 14: Абстрактные классы и интерфейсы

Функциональность Интерфейс Абстрактный класс Множественное наследование Поддерживает Не поддерживает Реализация функциональности Интерфейс предоставляет только сигнатуры методов, не может предоставлять функциональность Может предоставлять завершённую функциональность некоторых методов, которые потом можно переопределить Модификаторы доступа У интерфейса не может быть никаких модификаторов доступа Может иметь модификаторы доступа для полей, функций, итд.

Изображение слайда
15

Слайд 15: Абстрактные классы и интерфейсы

Функциональность Интерфейс Абстрактный класс Поля и константы Поля не могут быть объявлены в интерфейсе, все поля становятся константами Может иметь и поля и константы Уровень абстракции Предоставляют крайнюю степень абстракции, на уровне описания Предоставляет базовые характеристики сущности Добавление новой функциональность При добавлении новых методов, мы должны реализовать данные методы во всех классах, которые реализуют данный интерфейс Можем реализовать данный метод по умолчанию, тогда наследники просто пронаследуют его

Изображение слайда
16

Слайд 16: Объекты

Объект представляет собой экземпляр класса.

Изображение слайда
17

Слайд 17: Объекты

public class SimpleObject { private Long id; public String name; public SimpleObject() { } public void setName(String name) { this.name = name; } public Long getName() { return name; } public Long getId() { return id; } private void eraseName() { name = null ; } } SimpleObject simpleObject = new SimpleObject ();

Изображение слайда
18

Слайд 18: Работа с объектом

simpleObject. setName (“ Rrrr ”); вызываем метод, который проставит значение полю simpleObject.getName(); вернёт “Rrrr” simpleObject.getId(); вернёт null simpleObject. name = “ Mrrr ”; явно проставляем значение полю

Изображение слайда
19

Слайд 19: Конструктор

Конструктор – метод инициализации полей объекта Обычный метод Для него не указывается тип возвращаемого значения Конструктор вызывается каждый раз при создании объекта При использовании ключевого слова new происходит выделение памяти под объект Конструктор может принимать параметры Класс может иметь несколько конструкторов, различающихся сигнатурой По оформлению кода, конструктор является методом типа void Имя конструктора должно совпадать с именем класса

Изображение слайда
20

Слайд 20: Минусы ООП

Динамическое связывание методов через виртуальную таблицу Наследование размывает код Глубина абстракции приводит к многослойным приложениям Инкапсуляция снижает скорость доступа к данным Динамическое создание объектов в «куче» а не на стеке

Изображение слайда
21

Слайд 21: Мотивация

http://codingbat.com/java 2 лучших результата – примут на кураторство в компанию NetCracker

Изображение слайда
22

Последний слайд презентации: Основы ООП: Основы ООП

Вопросы ?

Изображение слайда