Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к ИГЭ ООП.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
254.41 Кб
Скачать

Вопросы к итоговому государственному междисциплинарному экзамену по дисциплине «Объектно-ориентированное программирование»

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

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

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

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

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

Основные средства объектно-ориентированного программирования представлены на рисунке 1.

Рисунок 1 – Основные средства ООП

Выделено четыре этапа объектно-ориентированного проектирования:

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

  • разработка структуры классов, описывающих связь между классами и объектами;

  • разработка диаграмм объектов, показывающих взаимосвязи с другими объектами;

  • разработка внутренней структуры программного продукта

Достоинства и недостатки ООП

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

ООП обладает рядом преимуществ при создании больших программ. В частности к ним можно отнести:

  • использование более естественных с точки зрения повседневной практики понятий, простота введения новых понятий;

  • некоторое сокращение размера программ за счет того, что повторяющиеся (наследуемые) свойства и действия можно не описывать многократно, как это делается при использовании подпрограмм;

  • кроме того, использование динамических объектов позволяет более эффективно использовать оперативную память;

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

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

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

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

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

Недостатки ООП обуславливаются следующим:

Освоение базовых концепций ООП не требует значительных усилий. Однако разработка библиотек классов и их использование требуют существенных трудозатрат.

Документирование классов – задача более трудная, чем это было в случае процедур и модулей.

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

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

Основной недостаток ООП - некоторое снижение быстродействия за счет более сложной организации программной системы.

ООП скорее не упрощает caму программу, а упрощает технологию ее создания.

Структура модуля объектно-ориентированной программы:

unit ИмяМодуля;

interface // раздел интерфейса

{Описания процедур и функций модуля,

которые могут использоваться другими модулями. }

const // раздел объявления констант

{Объявления глобальных констант модуля,

которые могут использоваться процедурами и функциями модуля.}

type // раздел объявления типов

{Объявления глобальных типов модуля,

которые могут использоваться процедурами и функциями модуля }

var // раздел объявления переменных

{Объявления глобальных переменных модуля,

которые могут использоваться процедурами и функциями модуля}

implementation // раздел реализации

{ Описания (текст) процедур и функций модуля}

end.

Объектные типы описываются в разделе Type программы с использованием зарезервированного (ключевого) слова class:

Type

<имя объектного типа> = class

<информационные поля объекта (переменные)>

<методы объекта (заголовки процедур и функций)>

end;

В языке Object Pascal классы - это специальные типы данных, используемые для описания объектов.

Описание класса имеет следующую структуру:

Type <Имя класса>=class (<Имя класса-родителя>)

Private

<частные описания>

Public

<общедоступные описания>

End;

Объекты как экземпляры класса объявляются в программе в разделе var как обычные переменные. Например:

Var

Button1:TButton;

BitBtn1:TBitBtn;

Для обращения к конкретному элементу объекта (полю, свойству или методу) указывается имя объекта и имя элемента, разделенные точкой, т.е. имя элемента является составным.

Пример обращения к полям объекта, программное описание свойств объекта:

Var

Button1:TButton;

Begin

Button1.Left:=30;

Button1.Top:=50;

... End;