Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все ответы на билеты информатика экзамен.doc
Скачиваний:
0
Добавлен:
18.02.2024
Размер:
885.25 Кб
Скачать
  1. Основные понятия объектно-ориентированного программирования. Элементы объектно-ориентированного программирования. Инкапсуляция, наследование, полиморфизм.

Абстракция

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

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

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

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

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

Полиморфизм

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

Класс

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

Объект

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

Прототип

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

Объе́ктно-ориенти́рованное, или объектное, программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.

  1. Визуальное программирование: среда систем, элементы систем (форма, панель свойств, панель инструментов). Компоненты программ. Свойства, события, методы. Этапы построения приложений.

Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.

Разработка приложения в среде визуального программирования GUIDE состоит из следующих этапов:

  • Создание заготовки для окна приложения.

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

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

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

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

При создании элементов управления в окне приложения каждому из них задается некоторый тэг (имя) для обращения к этому элементу управления в подфункциях. Тэги, задаваемые автоматически в среде GUIDE, лучше изменять так, чтобы по тэгу легко было догадаться о назначении элемента управления. Например, при создании пункта XGrid меню Grid в примере, описанном в разд. Создание и программирование меню и контекстного меню, мы дадим пункту меню тэг mnGrid_XGrid, а при создании пункта XGrid контекстного меню мы дадим пункту меню тэг cmnAxes_XGrid. Следует отличать тэг объекта от надписи на нем. Тег в нашем случае - cmnAxes_XGrid, а надпись - XGrid.

При выборе пользователем пункта меню возникает его событие Callback и происходит обращение к соответствующей подфункции в m-файле. Ее имя состоит из двух частей, разделенных знаком подчеркивания: тэга и названия события. Например, при выборе пользователем пункта XGrid (с тэгом cmnAxes_XGrid) контекстного меню осей произойдет обращение к автоматически сгенерированной подфункции

  Автоматически создаваемый заголовок подфункции

Очень важно понимать, как узнавать и изменять свойства элементов управления в подфункциях обработки событий. Первый входной аргумент подфункции обработки события hObject содержит указатель на тот объект, событие которого произошло. В нашем примере входной аргумент hObject подфункции cmnAxes_XGrid_Callback содержит указатель на пункт меню cmnAxes_XGrid.

Для того, чтобы узнать, включил или выключил флаг пользователь, выбрав этот пункт меню, нам понадобится получить значение свойства Checked этого пункта. Для получения значения свойств объектов в MATLAB предназначена функция get. Ее первым входным аргументом является указатель на объект, значение свойства которого мы хотим получить, а во втором входном аргументе указывается название этого свойства, заключенное в апострофы:

state = get(hObject, 'Checked')

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

  • 'on' - флаг поставлен;

  • 'off' - флаг сброшен.

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

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

handles.mnGrid_XGrid содержит указатель на пункт XGrid (с тэгом mnGrid_XGrid) меню Grid.

Для задания значения некоторому свойству объекта служит функция set, в ее первом входном аргументе записывается указатель на объект, во втором входном аргументе - название свойства в апострофах, а в третьем - значение свойства. Например:

set(handles.mnGrid_XGrid, 'Checked', 'off') выключит флаг у пункта XGrid (с тэгом mnGrid_XGrid) меню Grid. Это все понадобится нам для программирования согласованного поведения элементов управления.