
Лекции Java / 01. Основные понятия и принципы ООП. Язык программирования Java.pptx
.pdf
Самарский государственный аэрокосмический университет имени академика С.П. Королёва
Лекция 1
Основные понятия и принципы объектно-ориентированного программирования
Язык программирования Java
© Составление, Гаврилов А.В., 2013
Самара
2013

План лекции
nВведение в объектно-ориентированное программирование
nОбщие сведения о Java
nПакеты и имена в Java
nОписание классов в Java
nРеализация инкапсуляции
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
2 |

Этапы программного решения задачи
nСоздание модели, определение данных для предстоящей обработки
nРазработка алгоритма: определение операций над данными и последовательности шагов по преобразованию текущего состояния модели в следующее
nФормулировка модели и алгоритма на языке программирования
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
3 |

Развитие подходов
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
4 |

Объектно-ориентированное программирование
nООП – это парадигма программирования, в которой базовым является понятие объекта
n Объект имеет |
n Объект умеет |
• Состояние |
• Получать сообщения |
• Поведение |
• Обрабатывать данные |
• Уникальность |
• Отправлять сообщения |
nПрограмма в ходе работы представляет собой набор взаимодействующих объектов
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
5 |

История ООП
n Около 1960
Появление близких к ООП идей в языках с другими парадигмами (Lisp, ALGOL)
n 1967
Simula – первый действительно объектно-ориентированный язык, типизация статическая
n 1969-1980
SmallTalk – динамическая типизация, рефлексия
n 1983
Objective-C, C++ – добавление идей ООП в язык C
n 1985
Eiffel – полностью объектно-ориентированный язык, взаимосвязанный с процессом разработки ПО
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
6 |

История ООП
n 1995
Delphi – язык Object Pascal, компонентная модель, визуальное программирование
Java – кроссплатформенный язык, очень похожий на C++
n 2000
C# - мультипарадигменный язык, составляющая платформы .Net
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
7 |

Откуда берутся объекты?..
n Прототипное программирование
•Объект можно создать из ничего
•Объект можно создать клонированием существующих объектов
•Примеры языков: JavaScript, Perl
n Класс-ориентированное программирование
•Объект создаётся как экземпляр класса
•Примеры языков: С++, Java, C#
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
8 |

Класс
nКласс как сущность является объединением объектов с одинаковым набором свойств и общим поведением
nКласс как элемент программы описывает структуру состояния объектов и их поведение
•Поля класса описывают элементы состояния объекта, по сути являются переменными
•Методы класса описывают элементы поведения объекта, по сути являются функциями
nОбъект принадлежит классу, является экземпляром класса
nПрограмма в ходе написания представляет собой набор классов
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
9 |

Обычные и статические элементы класса
nОписанные в классе элементы (поля и методы) принадлежат объекту (находятся в контексте объекта)
•У каждого объекта класса будет свой экземпляр поля
•Вызванный у объекта метод будет работать с данными именно этого объекта
nСтатические элементы класса (поля и методы) принадлежат классу (находятся в контексте класса)
•Каждого статического поля существует ровно один экземпляр
•Статические методы находятся в классе, но не имеют объекта, с данными которого они работают
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
10 |