
- •Экзаменационный вопрос №1. Основные понятия объектно-ориентированного подхода
- •Экзаменационный вопрос №2. Объектно-ориентированная методология
- •Экзаменационный вопрос №3. Основные понятия объектно-ориентированного анализа
- •Экзаменационный вопрос № 4. Методы объектно-ориентированного анализа
- •Экзаменационный вопрос № 5. Пример объектно-ориентированного анализа
- •Экзаменационный вопрос № 6. Основные понятия объектно-ориентированного проектирования
- •Экзаменационный вопрос № 7. Основные понятия объектно-ориентированного программирования
- •Экзаменационный вопрос № 8. История объе́ктно-ориенти́рованного программи́рования
- •Экзаменационный вопрос № 9. Определение ооп и его основные концепции.
- •Экзаменационный вопрос № 10. Сложности определения ооп
- •Экзаменационный вопрос № 11. Особенности реализации ооп
- •Экзаменационный вопрос № 12. Подходы к проектированию объектно-ориентированных программ
- •Экзаменационный вопрос № 13. Компонентное объектно-ориентированное программирование
- •Экзаменационный вопрос № 14. Прототипное объектно-ориентированное программирование
- •Экзаменационный вопрос № 15. Производительность объектных программ
- •Экзаменационный вопрос № 16. Идентификация объектно-ориентированных языков
- •Экзаменационный вопрос № 17.
- •Экзаменационный вопрос № 18.
- •Экзаменационный вопрос № 19.
- •Экзаменационный вопрос № 20.
- •Экзаменационный вопрос № 21.
- •Экзаменационный вопрос № 22. Основные понятия языка ооп Delphi
- •Экзаменационный вопрос № 23. Основные понятия языка ооп Smalltalk
- •Экзаменационный вопрос № 24. Основные понятия языка ооп Java
- •Список зарезервированных слов Java:
- •Import java.Io.IoException; // подключения библиотеки ioException:
- •Int y,X,z,a,b,c,d;//объявление переменных
- •Экзаменационный вопрос № 25. Основные понятия языка ооп c#
- •Структура программы c#
- •Экзаменационный вопрос № 26 Основные понятия языка ооп Ruby
- •Основные элементы языка Ruby
- •Арифметические Операторы:
- •Структура программы на языке Ruby
- •Экзаменационный вопрос № 27 История создания Action Script
- •Основные элементы языка ActionScript
- •Структура программы на языке ActionScript
- •Экзаменационный вопрос № 28 Основные понятия языка ооп Perl
- •Основные элементы языка
- •Экзаменационный вопрос № 29. Основные понятия языка ооп php
- •Основные элементы языка рнр
- •Структура программы на языке рнр
- •Экзаменационный вопрос № 30. Основные понятия языка ооп Visual Basic
Вопросы к экзамену
по курсу «Объе́ктно-ориенти́рованный анализ и программи́рование»
Основные понятия объектно-ориентированного подхода
Объектно-ориентированная методология
Основные понятия объектно-ориентированного анализа
Методы объектно-ориентированного анализа
Пример объектно-ориентированного анализа
Основные понятия объектно-ориентированного проектирования
Основные понятия объектно-ориентированного программирования
История объе́ктно-ориенти́рованного программи́рования
Определение ООП и его основные концепции
Сложности определения ООП
Особенности реализации ООП
Подходы к проектированию объектно-ориентированных программ
Компонентное объектно-ориентированное программирование
Прототипное объектно-ориентированное программирование
Производительность объектных программ
Идентификация объектно-ориентированных языков
Общая характеристика языка ООП С++
Программирование линейных вычислительных процессов на С++
Программирование разветвляющихся вычислительных процессов на С++
Программирование циклических вычислительных структур на С++
Программирование графики на С++
Основные понятия языка ООП Delphi
Основные понятия языка ООП Smalltalk
Основные понятия языка ООП Java
Основные понятия языка ООП C#
Основные понятия языка ООП Ruby
Основные понятия языка ООП ActionScript
Основные понятия языка ООП Perl
Основные понятия языка ООП РНР
Основные понятия языка ООП Visual Basic
Экзаменационный вопрос №1. Основные понятия объектно-ориентированного подхода
Объектным называется подход, в котором реальный процесс или система представляются совокупностью объектов, взаимодействующих через сообщения друг с другом.
Положения объектно-ориентированного подхода:
- программа представляет собой модель некоторого реального процесса, части реального мира.
- модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.
- объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.
Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс однотипных объектов.
Класс объектов задачи позволяет использовать термины прикладной задачи. Классы объектов образуют иерархическую структуру.
В таких иерархических структурах один класс может рассматриваться как базовый для других, производных от него классов.
Объект производного класса обладает всеми свойствами базового класса и некоторыми собственными свойствами, он может реагировать на теже типы сообщений от других объектов, что и объект базового класса и на сообщения, имеющие смысл только для производного класса.
Иначе говоря - объект производного класса наследует все свойства своего базового класса.
Некоторые параметры объекта могут быть локализованы внутри объекта и недоступны для прямого воздействия извне объекта.
Например, во время движения объекта-автомобиля объект-водитель может воздействовать только на ограниченный набор органов управления (рулевое колесо, педали газа, сцепления и тормоза, рычаг переключения передач) и ему недоступен целый ряд параметров, характеризующих состояние двигателя и автомобиля в целом.
Для применения объектного подхода при разработке программ, необходимы языки программирования, позволяющие строить описание классов объектов, образовывать данные объектных типов, выполнять операции над объектами.
Опыт программирования показывает, что любой методический подход в технологии программирования не должен применяться слепо с игнорированием других подходов. Это относится и к объектно-ориентированному подходу. Существует ряд типовых проблем, для которых его полезность наиболее очевидна, к таким проблемам относятся, в частности, задачи имитационного моделирования, программирование диалогов с пользователем. Существуют и задачи, в которых применение объектного подхода ни к чему, кроме излишних затрат труда, не приведет. В связи с этим наибольшее распространение получили объектно-ориентированные языки программирования, позволяющие сочетать объектный подход с другими методологиями. В некоторых языках и системах программирования применение объектного подхода ограничивается средствами интерфейса с пользователем (например, Visual FoxPro ранних версий).
Понятию “объект” сопоставляют ряд дополняющих друг друга определений.
Объект - это осязаемая реальность, характеризующаяся четко определяемым поведением.
Объект - особый опознаваемый предмет, блок или сущность (реальная или абстрактная), имеющая важное функциональное назначение в данной предметной области.
Объект охарактеризуется структурой, состоянием объекта, его поведением и индивидуальностью.
Состояние объекта определяется перечнем всех возможных свойств и текущими значениями каждого из этих свойств. Свойства объекта характеризуются значениями его параметров.
Поведение объекта описывает, как объект воздействует на другие объекты или как он подвергается воздействию со стороны других объектов с точки зрения изменения его собственного состояния и состояния других объектов.
Определенное воздействие одного объекта на другой, с целью вызвать соответствующую реакцию называют операцией. Типы операций:
- конструктор, создание и инициализация объекта;
- деструктор, разрушающий объект;
- модификатор, изменяющий состояние объекта;
- селектор для доступа к переменным объекта без их изменения;
- итератор для доступа к содержанию объекта по частям в определенной последовательности.
Объекты находятся в иерархических отношениях - использования и включения.
Отношение использования реализуется посылкой сообщений от объекта A к объекту B. При этом объект A может выступать в роли:
- активного или воздействующего объекта, когда он воздействует на другие объекты, но сам воздействию не подвергается;
- пассивного или исполняющего, когда объект подвергается воздействию, но сам на другие объекты не воздействует;
- посредника, если объект и воздействует и сам подвергается воздействию.
Отношение включения имеет место, когда составной объект содержит другие объекты.
Структура и поведение сходных объектов определяют класс объектов.
Между классами также могут быть установлены отношения:
- отношение разновидности (кошка - вид определенного биологического семейства или кошка - домашнее животное);
- включения или составной части (лапа - часть кошки);
- ассоциативности, когда между классами есть чисто смысловая связь (кошки и собаки - домашние животные).
Объект, обладающий перечисленными характеристиками, в общем случае служит моделью реальной сущности, поскольку при описании объекта пренебрегают второстепенными или несущественными в конкретной ситуации свойствами.
Выделение совокупности объектов и отношений между ними позволяет построить объектную модель определенной предметной области, а на основе такой модели разработать программные средства для исследования этой предметной области и принятия решений.
С точки зрения программирования - объектный подход можно рассматривать как развитие понятия типов данных. Тип данного определяет множество значений, которые может принимать данное, и набор операций, которые могут быть выполнены над данными этого конкретного типа. В языках программирования предусматриваются базовые типы данных (целые, вещественные числовые, символьные и строковые типы т.д. В языках программирования со строгой типизацией каждое данное принадлежит только одному типу и разрешаются только явные преобразования данных одного типа в другой. Строгая типизация повышает надежность разрабатываемых программ, позволяет выявить многие ошибки еще на этапе отладки программы. В языках программирования предусматривается и возможность построения новых типов данных, определяемых программистом, но для таких типов, как правило, отсутствует перечень допустимых операций.