
- •Лабораторная работа № 1
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 2
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 3
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 4 понятие класса
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 5 статические методы класса
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 6 механизм наследования
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 7 виртуальные методы класса
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Лабораторная работа № 8
- •Теоретические сведения
- •Программа работы
- •Контрольные вопросы
- •Библиографический список
- •Содержание
Программа работы
Создать новый проект и сохранить все его файлы в папке с именем ‘…\Лабораторная работа № 6’.
Создать новый модуль Unit2 и в его секции interface объявить класс с любым именем, который будет содержать два раздела public и private.
В разделе private объявить сроковое поле, а в разделе public – свойство для его чтения и записи.
В секции implementation модуля Unit2 определить методы чтения и записи объявленного свойства.
Подключить модуль Unit2 к модулю главной формы Unit1 и создать на ней компоненты Edit1, Edit2 и кнопку Button1.
В обработчике нажатия кнопки Button1 объявить объектную переменную с типом созданного класса, создать объект, присвоить его свойству текст, который будет вводиться пользователем в компонент Edit1, вывести в компонент Edit2 значение самого свойства и освободить память под объект.
Запустить программу на выполнение и записать в отчет объявленный класс, а также методы чтения и записи свойства.
Осуществить доступ к объявленному полю с помощью того же свойства, но без определения методов чтения и записи.
Запустить программу на выполнение и записать в отчет измененное свойство.
Написать программу ‘Address’, которая выводила бы адрес Вашей электронной почты, если пользователь задал правильный пароль. В противном случае сообщите ему, что эта информация носит закрытый характер.
Примечание: При разработке программы учесть, что Ваш адрес размещается в разделе private как строковое поле класса, а доступ к нему осуществляется в режиме только для чтения с помощью соответствующего свойства. Оно должно возвращать значение поля только тогда, когда введенный пользователем пароль с помощью свойства только для записи совпадет с паролем, который Вы задали внутри объекта.
Запустить программу на выполнение и записать в отчет объявленный класс, все его методы, а также обработчик нажатия клавиши Enterпосле ввода пароля в компонентеEdit1.
Написать программу, которая выводила бы название месяца года на русском или английском языках по его порядковому номеру, указанному пользователем.
Примечание: При разработке программы учесть, что названия месяцев для каждого языка хранятся в строковых массивах, которые объявлены в разделе private, а доступ к ним осуществляется с помощью векторного свойство в зависимости от выбранного языка в компоненте RadioGroup.
Записать в отчет объявленный класс и все его методы, а также обработчик нажатия кнопки компонента UpDown.
Добавить к объявленному свойству директиву default и осуществить доступ к массивам данных без указания имени векторного свойства. В отчете отразить сделанные изменения.
Контрольные вопросы
Дать определение концепции инкапсуляции и указать все механизмы её реализации в среде Delphi.
Записать синтаксис объявления и определения свойства класса.
Записать, как будет заменено компилятором имя свойства при обращении к нему на примере обработчика нажатия кнопки Button1.
Записать синтаксис объявления и определения свойства класса в режиме только для чтения и только для записи.
Записать, как будут заменены компилятором имена свойств при обращении к ним в обработчике нажатия клавиши Enterпрограммы ‘Адрес’.
Записать синтаксис объявления и определения векторного свойства класса.
Записать, как будут заменены компилятором имена свойств при обращении к ним на примере обработчика нажатия кнопки UpDownпрограммы ‘Двенадцать месяцев’.
Объяснить различие в использовании векторного свойства с default директивой и без неё.
Записать синтаксис объявления и определения свойства класса для доступа к элементам двухмерного массива данных.
Перечислить все возможные варианты обращения к полям класса и отметить их достоинства и недостатки.