экзамен акимова 10-12. 10. Элементы объектноориентированного программирования в С. Наследование
Скачать 21.12 Kb.
|
10. Элементы объектно-ориентированного программирования в С++. Наследование. Объектно-ориентированная парадигма программирования (ООП) является одной из ведущих современных парадигм и поддерживается несколькими современными языками. Не является исключением и С++. Основными понятиями ООП являются класс и объект. Класс является абстрактным типом данных, определяемым пользователем, и представляет собой модель реального объекта в виде данных и функций для работы с ними [павловская]. Данные класса называются полями (по аналогии с полями структуры), а функции класса – методами. Поля и методы называются элементами класса. Конкретные переменные типа «класс» называются экземплярами класса, или объектами. Эти объекты могут иметь различное поведение, свойства, но все равно будут являться объектами одного класса. В ООП существует три основных принципа построения классов: Инкапсуляция – это свойство, позволяющее объединить в классе и данные, и методы, работающие с ними и скрыть детали реализации от пользователя. Наследование – это свойство, позволяющее создать новый класс-потомок на основе уже существующего, при этом все характеристики класса родителя присваиваются классу-потомку. Полиморфизм – свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. В конце описания класса обязательно ставится точка с запятой. Имя класса должно быть идентификатором. Спецификаторы доступа private и public управляют видимостью элементов класса. Элементы, описанные после служебного слова private, видимы только внутри класса. Этот вид доступа принят в классе по умолчанию. Интерфейс класса описывается после спецификатора public. Действие любого спецификатора распространяется до следующего спецификатора или до конца класса. Можно задавать несколько секций private и public, порядок их следования значения не имеет. Поля класса: могут иметь любой тип, кроме типа этого же класса (но могут быть указателями или ссылками на этот класс); могут быть описаны с модификатором const, при этом они инициализируются только один раз (с помощью конструктора) и не могут изменяться; могут быть описаны с модификатором static, но не как auto, extern и register. Инициализация полей при описании не допускается. Описание метода схоже с описанием обычной функции. Все методы класса имеют непосредственный доступ к его скрытым полям, иными словами, тела функций класса входят в область видимости private элементов класса. Разрешается определять класс с полями и методами, только с полями, только с методами, без полей и без методов. Класс без полей и методов называется пустым. Объекта класса описывается аналогично переменным встроенного типа. При создании класса остро стоит вопрос инициализации его полей, так как это невозможно сделать при описании их типов. Для решения этой проблемы используются специальные методы – конструкторы. Конструктор предназначен для инициализации объекта и вызывается автоматически при его создании. Ниже перечислены основные свойства конструкторов. Конструктор не возвращает значение, даже типа void. Нельзя получить указатель на конструктор. Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации (при этом используется механизм перегрузки). Конструктор, вызываемый без параметров, называется конструктором по умолчанию. Параметры конструктора могут иметь любой тип, кроме этого же класса. Можно задавать значения параметров по умолчанию. Их может содержать только один из конструкторов. Если программист не указал ни одного конструктора, компилятор создает его автоматически. Такой конструктор вызывает конструкторы по умолчанию для полей класса и конструкторы по умолчанию базовых классов. В случае, когда класс содержит константы или ссылки, при попытке создания объекта 55 класса будет выдана ошибка, поскольку их необходимо инициализировать конкретными значениями, а конструктор по умолчанию этого делать не умеет. Конструкторы не наследуются. Конструкторы нельзя описывать с модификаторами const. virtual и static. Конструкторы глобальных объектов вызываются до вызова функции main. Локальные объекты создаются, как только становится активной область их действия. Конструктор запускается и при создании временного объекта (например, при передаче объекта из функции). 11. Элементы управления. Форма Forms. Windows Forms предоставляет широкий спектр элементов, которые условно можно разделить на два типа: интерфейсные – те которые видны пользователю и с которыми он может работать непосредственно (разного рода кнопки, панели, таблицы) и служебные – те, что выполняют определенные задачи и вызываются путем взаимодействия пользователя с интерфейсными элементами (диалоги, таймеры, адаптеры). Перед использованием элемент должен быть помещен на форму (обычно при помощи drag&drop или как его называют «перетаскивание»), за исключением самого элемента формы (элемент форма создается автоматически при создании проекта). Все элементы Windows Forms находятся на панели Toolbox Каждый элемент содержит свой набор свойств и событий. Большинство из них повторяются для всех элементов (являются универсальными). Свойство в объектно-ориентированном программировании ‑ способ доступа к внутреннему состоянию объекта, имитирующий переменную некоторого типа. Событие в объектно-ориентированном программировании — это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий. События предназначены для того, чтобы иметь возможность предусмотреть реакцию программного обеспечения. Все свойства элемента находятся на панели Properties и меняются вручную или выбираются из списка, а события на панели Properties, вкладка Events Элемент Form Представляет окно или диалоговое окно, которое составляет пользовательский интерфейс приложения Таблица 1 – Основные свойства элемента Form
Основные события Таблица 2 – Основные события элемента Form
11. Элементы управления. Кнопка Button. Windows Forms предоставляет широкий спектр элементов, которые условно можно разделить на два типа: интерфейсные – те которые видны пользователю и с которыми он может работать непосредственно (разного рода кнопки, панели, таблицы) и служебные – те, что выполняют определенные задачи и вызываются путем взаимодействия пользователя с интерфейсными элементами (диалоги, таймеры, адаптеры). Перед использованием элемент должен быть помещен на форму (обычно при помощи drag&drop или как его называют «перетаскивание»), за исключением самого элемента формы (элемент форма создается автоматически при создании проекта). Все элементы Windows Forms находятся на панели Toolbox Каждый элемент содержит свой набор свойств и событий. Большинство из них повторяются для всех элементов (являются универсальными). Свойство в объектно-ориентированном программировании ‑ способ доступа к внутреннему состоянию объекта, имитирующий переменную некоторого типа. Событие в объектно-ориентированном программировании — это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий. События предназначены для того, чтобы иметь возможность предусмотреть реакцию программного обеспечения. Все свойства элемента находятся на панели Properties и меняются вручную или выбираются из списка, а события на панели Properties, вкладка Events Представляет элемент управления Windows "Кнопка". Находится в группе элементов Common Controls Основные свойства Таблица 3 – Основные свойства элемента Button
Основные события Таблица 4 – Основные события элемента Button
|