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

Выводы:

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

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

  • Для придания точного смысла выделяемым объектам необходимо использовать математические модели.

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

  • Выделение и описание объектов требует:

    • творческого подхода при построении набора вариантов;

    • критического мышления при отборе допустимых вариантов;

    • умения принимать решения, предвидеть и оценивать последствия;

    • самостоятельности.

3 Концептуальная модель класса объектов

1) В ООП одной из основных моделей является класс.

2) Есть 2 подхода к определению класса в ООП:

а) перечисление совокупности объектов

б) описание набора атрибутов и методов

3) Перечисление совокупности объектов

Определение 2

Классом объектов является совокупность объектов, обладающих одинаковым на-бором атрибутов и методов.

4) Описание набора атрибутов и методов

Определение 3

Классом объектов является модель (описание) набора атрибутов и методов, ко-торыми должен обладать каждый объект класса.

5) Определение 2 всегда порождает набор объектов, а определение 3 не подразумевает существования объектов. Вывод: среди методов должны быть методы создания и уничтожения объектов.

6) Основные свойства класса:

а) идентифицируется именем;

б) для класса и объекта определено отношение «быть объектом класса»;

в) класс является моделью для создания объектов класса;

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

7) Класс обязательно содержит метод для разрушения объектов класса. Как правило, существует только один такой метод.

8) Определение 3 всегда позволяет построить объекты с заданными атрибутами и методами, т.е., получить класс в смысле определения 2.

4 Инкапсуляция атрибутов и методов в классе объектов Понятие инкапсуляции

1) Инкапсуляцией в ООП называется сосредоточение и сокрытие информации (атрибу-тов) и методов в классе объектов [если использовать определение 3] или в объекте [если использовать определение 2].

2) Существует 3 группы языков программирования:

а) инкапсуляция в классе;

б) инкапсуляция в объекте;

в) инкапсуляция и там, и там.

3) Инкапсуляция означает, что внутренняя реализация объекта или класса скрыта от пользователя. При этом пользователь знает об атрибутах и методах только то, что предоставил ему объект или класс.

4) Совокупность атрибутов и методов объекта или класса, предназначенные для приме-нения пользователем, называются интерфейсом [Термин интерфейс в контексте ООП имеет несколько значений. Второе значение см. в разделе «Виртуаль-ные функции»] класса.

5) Целью инкапсуляции является защита данных: ограничение доступа к атрибутам и ме-тодам объекта или класса со стороны пользователя. Ограничение направлено на пре-дотвращение внесения изменений, не разрешенных объектом или классом.

6) Предметом (уровнем) инкапсуляции может быть как объект, так и класс.

7) Прагматика (выгода) от инкапсуляции состоит в следующем.

а) Инкапсуляция позволяет вносить изменения в скрытые части объекта или класса без изменения интерфейса, т.е. без последствий для пользователя [Имеется в виду не пользователь ОО-программы, а пользователь класса — скорее всего, программист].

б) Обеспечивает защиту от использования программистом действий с атрибутами или вызова методов, не разрешенных объектом класса.

8) Инкапсуляция является развитием принципов модульного программирования, которое сосредотачивало модули (части) программы, необходимые для ее функционирования.

9) Инкапсуляция является развитием способов защиты переменных и процедур в строго типизированных языках программирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]