Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Философия ООП.docx
Скачиваний:
53
Добавлен:
10.04.2015
Размер:
107.89 Кб
Скачать

Объектная нотацияUml

В языке UML объект обозначается прямоугольником с двумя отделениями. Верхнее отделение содержит имя объекта и имя класса, которому принадлежит объект. Синтаксис этой конструкции выглядит так:

objectname: classname

Нижнее отделение содержит список имен атрибутов и значений. С помощью этого синтаксиса можно также показать типы атрибутов:

attributename: type = value

На рисунке 1 показан объект Course (Дисциплина) с именем cl. Объект обладает двумя атрибутами. Типы атрибутов не показаны – они заданы в определении класса.

c1: Course

courseNumber = COMP227

courseName = OOP

Рисунок 1 – Объект - экземпляр

Важно иметь в виду, что объектная нотация не предусматривает в обозначении объекта особого «отделения» для перечня операций, которые может выполнять объект-экземпляр. Это связано с тем, что операции, выполняемые всеми объектами-экземплярами, идентичны, и поэтому хранить их в каждом объекте-экземпляре было бы накладно. Операции можно хранить в объекте-классе или же можно связать их с объектами-экземплярами другими средствами (реализованными в ПО базовой объектно-ориентированной системы).

Проверь себя

Вопросы и ответы

Как освоить ООП?

Данное пособие помогает начать изучение ООП. Важно заложить прочный фундамент, и данное учебное пособие может помочь в этом.

Приобретя базовые знания, нужно практиковаться в применении объектно – ориентированного подхода. Настоящее мастерство приходит только с опытом. Начните в качестве разработчика объектно – ориентированного проекта. Хорошо во всем разберитесь. По мере освоения объектно – ориентированного подхода начинайте заниматься анализом и разработкой своих собственных проектов. Продолжайте изучение самостоятельно. Читайте книги, статьи, журналы.

Какие парадигмы программирования сегодня широко известны?

  • Структурное (процедурное) программирование;

  • Модульное программирование

  • Объектно – ориентированное программирование.

В чем сущность объектно-ориентированного подхода к программированию?

Основные идеи объектно-ориентированного подхода опираются на следующие положения:

  • Программа представляет собой модель некоторого реального процесса, части реального мира.

  • Модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.

  • Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.

  • Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта.

  • Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс однотипных объектов.

Таким образом, объектно-ориентированный подход предполагает, что при разработке программы должны быть определены классы используемых в программе объектов и построены их описания, затем созданы экземпляры необходимых объектов и определено взаимодействие между ними.

Как вы понимаете термины Класс? Объект? Свойство? Поведение?

Класс – это описание группы объектов. Объект – это реальный представитель определенного класса. Свойство – это характеристика объекта. Поведение – это набор действий, которые может выполнять объект.

В чем сущность объектно-ориентированного подхода к программированию?

  • Программа представляет собой модель некоторого реального процесса, части реального мира.

  • Модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.

  • Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому.

Какую сущность можно назвать объектом?

Каждый объект имеет:

  • имя объекта (уникальность);

  • состояние (совокупность свойств);

  • методы (операции).

Что такое Свойство объекта?

Это его характеристика или признак

Что называется Состоянием объекта?

Состояние объекта характеризуется перечнем всех свойств объекта и текущими значениями каждого из этих свойств

Что такое Метод?

Методы (methods) – это функции(процедуры), принадлежащие классу.

Как вы понимаете термин «message»?

Сообщение (message) - это практически тоже самое, что и вызов функций в обычном программировании. В ООП обычно употребляется выражение "послать сообщение" какому-либо объекту. Понятие "сообщение" в ООП можно объяснить с точки зрения основ ООП: мы не можем напрямую изменить состояние объекта и должны как бы послать сообщение объекту, что мы хотим так и так изменить его состояние. Объект сам меняет свое состояние, а мы только его просим об этом, посылая сообщения.

Как вы понимаете поведение объекта (behavior)?

Для каждого объекта существует определенный набор действий, которые с ним можно произвести.

Контрольные вопросы

Чтобы вы могли лучше разобраться в изучаемом материале, ответьте на предлагаемые вопросы. Ответы содержатся в брошюре «Решения и обсуждения»

  1. Что такое процедурное программирование?

  2. Какими преимуществами обладает процедурное программирование по сравнению с неструктурным программированием?

  3. Что такое модульное программирование?

  4. Какими преимуществами обладает модульное программирование по сравнению с процедурным программированием?

  5. Перечислите недостатки процедурного и модульного программирования.

  6. Что такое объектно – ориентированное программирование?

  7. Каковы шесть преимуществ и целей объектно – ориентированного программирования?

  8. Объясните одну из целей объектно-ориентированного программирования.

  9. Дайте определение следующих терминов: класс, объект, поведение.

  10. Как объекты обмениваются информацией?

Вопросы для самостоятельной работы

(необходимо набрать не менее 6 баллов)

  1. Как вы поняли, объектно-ориентированный подход к программированию – это проще для программиста или сложнее? (1 балл)

  2. Если сложнее, то зачем нам нужен ООП? Какие проблемы с его помощью можно решить? (1 балл)

  3. Назовите главную идею ООП. (1 балл)

  4. Объясните, гарантирует ли использование объектно-ориентированного языка построение объектно-ориентированного проекта? (1 балл)

  5. В чем проблема утконоса? (1 балл)

  6. Как вы понимаете состояние объекта? Поведение объекта? (1 балл)

  7. К какому классу относится объект b1:Book? (1 балл)

Упражнения для самостоятельной работы

(необходимо набрать не менее 6 баллов)

  1. Нарисуйте иерархию классов: стол, стул, шкаф-купе, журнальный столик, мебель, диван, компьютерный стол, стиральная машина, кресло, буфет, шифоньер. Какое понятие здесь лишнее? Почему? (2 балла)

  2. Опишите поведение объекта Иванушка, представленного на языке UML: (1 балл)

  1. Нарисуйте иерархию классов: кошки, шиншиллы, хори, попугаи, кенары, щеглы, крокодильчики, земноводные и другие виды. Добавьте понятие, если требуется. (2 балла)

  2. Опишите на языке UML объект для ИС книжного магазина: книга «Маленький принц» Антуана де Сент Экзюпери, количество страниц 92, продана. (1 балл)

  3. Опишите состояние объекта, представленного на языке UML в информационной системе «Медосмотр»: (1 балл)

  1. Опишите состояние и поведение объекта, представленного на языке UML: (2 балла)

  1. Нарисуйте иерархию классов: царь, царевич, король, королевич, сапожник, портной, пекарь, лекарь. Добавьте обобщающие классы, если требуется. (2 балла)

  1. Опишите состояние и поведение объекта, представленного на языке UML: (2 балла)

  1. Опишите на языке UML объект для ИС зоопарка: зеленый попугай Кеша, возраст – 150 лет, говорящий, любимое слово – «Пиастры». (1 балл)

2012