Главная страница

Разработка объектной программы для обработки данных о авторах издательства». 4 этап переделанный 2. Разработка объектной программы для обработки данных о авторах издательства


Скачать 183.44 Kb.
НазваниеРазработка объектной программы для обработки данных о авторах издательства
АнкорРазработка объектной программы для обработки данных о авторах издательства»
Дата14.02.2023
Размер183.44 Kb.
Формат файлаdocx
Имя файла4 этап переделанный 2.docx
ТипКурсовая
#936489
страница2 из 5
1   2   3   4   5

Краткие сведения об объектном подходе


Объект

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

Класс

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

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

Инкапсуляция

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

Объединение в рамках объекта некоторых данных и соответствующего программного кода рассматривается как проявление одного из базовых принципов объектного подхода – принципа инкапсуляции. В соответствии с принципом инкапсуляции элементы данных рекомендуется делать недоступными для прямого использования за пределами объекта

Контейнер

Контейнером называется объект, позволяющий хранить и обрабатывать набор некоторых объектов. Вариантами реализации контейнера могут быть на основе:

• на основе массива

• на основе динамических списков разных типов

• на основе поисковых деревьев

• на основе хеш-таблиц

Наследование

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

Наследование называется простым, когда у дочернего класса существует только один родитель, множественным - когда дочернего класса существует более одного родителя.

Полиморфизм

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

Переопределение методов - это возможность объявления в дочернем классе метода, заголовок которого полностью совпадает с родительским методом, но для этого метода существует своя программная реализация.

Переопределение методов основано на двух важных понятиях:

динамическая компоновка программного кода, т.е. подключение необходимых программных модулей непосредственно во время работы программы.

информация о переопределенных в классе методах, доступная механизму динамической компоновки

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

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

Интерфейсные классы

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

Существуют некоторые отличия интерфейсных классов от абстрактных классов:

  • абстрактные классы могут содержать реализацию некоторых методов, а в интерфейсных исключена всякая реализация;

  • абстрактные классы поддерживают только простое наследование, а интерфейсные – множественное;

  • обычный класс может в качестве родителя иметь только один абстрактный класс, а вот интерфейсов-родителей может быть и несколько;

  • абстрактный класс может содержать поля данных, а интерфейсный – либо вообще не может, либо только статические неизменяемые поля

Обобщенные или параметризованные классы

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

Взаимодействие объектов и классов

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

Различают два способа взаимодействия:

  • агрегация (композиция)

  • обобщение (наследование)

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

Обобщение возникает в том случае, когда один из классов описывает некоторое достаточно общее понятие, а другие – более конкретные разновидности этого понятия.
  1. 1   2   3   4   5


написать администратору сайта