- •Реферат по дисциплине «Информатика»
- •Объектно-ориентированное программирование
- •2. Классы и объекты
- •3. Свойства, методы и события
- •4. Инкапсуляция и ее значение
- •5. Понятие о полиморфизме
- •6. Наследование и ее использование для реализации полиморфизма
- •7. Графический интерфейс пользователя и его основные составляющие
- •9. Ссылки на ячейки рабочего листа Excel и объект Range
- •10. Основные составляющие диаграмм Excel
- •11. Форма UserForm
- •12. Понятие базы данных. Хранилища базы данных.
- •13. Понятие о сжатии информации .Примеры программ архивации.
- •14. Общие Понятия информационной безопасности
- •15. Защита информации путем разграничения доступа
- •16. Понятие о вредоносном программном обеспечении.
- •Симптомы заражения
- •17. Компьютерные вирусы и их классификация.
- •18. Антивирусное программное обеспечение (на примере продуктов “Лаборатории Касперского”).
- •Методы обнаружения вирусов:
- •Классификация антивирусов:
- •Ложные антивирусы (лже-антивирусы):
- •Продукты Лаборатории Касперского:
- •19. Понятие о шифровании информации и цифровой подписи. Назначение и применение эцп
- •Симметричная схема.
- •Асимметричная схема
- •Виды асимметричных алгоритмов эцп
- •20. Понятие о распределенных приложениях.
- •Преимущества
- •Недостатки
- •22. Компьютер как средство связи.
- •23. Локальные и глобальные компьютерные сети.Internet.
- •24. Провайдеры данных и прокси-серверы.
- •Виды прокси-серверов:
- •Наиболее распространённые прокси-серверы
- •25. Сетевые протоколы и их роль в передаче данных.
- •26. Электронная почта (примеры программ для электронной почты).
- •27,28. Браузеры и поисковые системы (с примерами).
- •29. Понятие об электронной коммерции.
- •Системы электронной коммерции
- •Основные элементы систем электронной коммерции.
- •30. Прикладное по для решения бизнес-задач (на примере продуктов Microsoft и 1c).
3. Свойства, методы и события
Процедуры и функции, предназначенные для выполнения над объектами действий, называются методами. Предварительное объявление методов выполняется при описании класса в секции interface модуля, а их программный код записывается в секции implementation. Однако в отличие от обычных процедур и функций заголовки методов должны иметь уточненные имена, т.е. содержать наименование класса.
Обратите внимание, что внутри методов обращения к полям и другим методам выполняются как к обычным переменным и подпрограммам без уточнения экземпляра объекта. Такое упрощение достигается путем использования в пределах метода псевдопеременной Self (стандартный идентификатор). Физически Self представляет собой дополнительный неявный параметр, передаваемый в метод при вызове. Этот параметр и указывает экземпляр объекта, к которому данный метод применяется.
Практика показывает, что псевдопеременная Self редко используется в явном виде. Ее необходимо применять только тогда, когда при написании метода может возникнуть какая-либо двусмысленность для компилятора, например при использовании одинаковых имен и для локальных переменных, и для полей объекта.
Если выполнить метод SetActive, то обрабатываемый файл будет открыт. При этом неявный параметр Self будет содержать значение переменной Reader.
Помимо полей и методов в объектах существуют свойства. При работе с объектом свойства выглядят как поля: они принимают значения и участвуют в выражениях. Но в отличие от полей свойства не занимают места в памяти, а операции их чтения и записи ассоциируются с обычными полями или методами. Это позволяет создавать необходимые сопутствующие эффекты при обращении к свойствам. Например, в объекте Reader присваивание свойству Active значения True вызовет открытие файла, а присваивание значения False — закрытие файла. Создание сопутствующего эффекта (открытие или закрытие файла) достигается тем, что за присваиванием свойству значения стоит вызов метода.
Ключевые слова read и write называются спецификаторами доступа. После слова read указывается поле или метод, к которому происходит обращение при чтении (получении) значения свойства, а после слова write — поле или метод, к которому происходит обращение при записи (установке) значения свойства. Например, чтение свойства Active означает чтение поля FActive, а установка свойства — вызов метода SetActive. Чтобы имена свойств не совпадали с именами полей, последние принято писать с буквы F (от англ. field). Мы в дальнейшем также будем пользоваться этим соглашением. Начнем с того, что переименуем поля класса TDelimitedReader: поле FileVar переименуем в FFile, Items — в FItems, а поле Delimiter — в FDelimiter.
Если один из спецификаторов доступа опущен, то значение свойства можно либо только читать (задан спецификатор read), либо только записывать (задан спецификатор write). В следующем примере объявлено свойство, значение которого можно только читать.
Методы получения (чтения) и установки (записи) значений свойств подчиняются определенным правилам. Метод чтения свойства — это всегда функция, возвращающая значение того же типа, что и тип свойства. Метод записи свойства — это обязательно процедура, принимающая параметр того же типа, что и тип свойства. В остальных отношениях это обычные методы объекта.
Использование методов для получения и установки свойств позволяет проверить корректность значения свойства, сделать дополнительные вычисления, установить значения зависимых полей и т.д. Например, в методе SetActive вполне целесообразно осуществить проверку состояния файла (открыт или закрыт), чтобы избежать его повторного открытия или закрытия:
Наличие свойства Active позволяет нам отказаться от использования методов Open и Close, традиционных при работе с файлами. Согласитесь, что открывать и закрывать файл с помощью свойства Active гораздо удобнее и естественнее. Одновременно с этим свойство Active можно использовать и для проверки состояния файла (открыт или нет). Таким образом, для осуществления трех действий требуется всего лишь одно свойство! Это делает использование Ваших классов другими программистами более простым, поскольку им легче запомнить одно понятие Active, чем, например, три метода: Open, Close и IsOpen.
Значение свойства может не храниться, а вычисляться при каждом обращении к свойству. Примером является свойство ItemCount, значение которого вычисляется как Length(FItems).
Кроме обычных свойств в объектах существуют свойства-массивы (array properties). Свойство-массив — это индексированное множество значений. Например, в классе TDelimitedReader множество элементов, выделенных из считанной строки, удобно представить в виде свойства-массива:
Элементы массива Items можно только читать, поскольку класс TDelimitedReader предназначен только для чтения данных из файла.
В описании свойства-массива разрешено использовать только методы, но не поля. В этом состоит отличие свойства-массива от обычного свойства.
Основная выгода от применения свойства-массива — возможность выполнения итераций с помощью цикла for, например:
Свойства-массивы имеют два важных отличия от обычных массивов:
их индексы не ограничиваются диапазоном и могут иметь любой тип данных, а не только Integer. Например, можно создать свойство-массив, в котором индексами будут строки. Обращение к такому свойству могло бы выглядеть примерно так:
операции целиком со всем свойством-массивом запрещены; разрешены операции только с его элементами.
Свойство-массив можно сделать основным свойством объектов данного класса. Для этого в описание свойства добавляется слово default:
Такое объявление свойства Items позволяет рассматривать сам объект класса TDelimitedReader как массив и опускать имя свойства-массива при обращении к нему из программы, например:
Следует помнить, что только свойства-массивы могут быть основными свойствами объектов; для обычных свойств это недопустимо.
Событие Initialize (Инициализация) обычно используется для подготовки к работе приложения или формы UserForm. Переменным присваиваются исходные значения, а положение или размеры элементов управления могут быть изменены для согласования с данными, заданными при инициализации. Это событие появляется до загрузки формы и ее отображения. Это событие появляется во время загрузки формы. Давайте в него напишем код: Событие Intialize вызывается только один раз для формы перед ее загрузкой.
Событие Activate и Deactivate
Событие Activate происходит, когда объект становится активным окном. А становится активным окном он может в двух случаях. Это в результате Show, когда форма становится видимой на экране и в результате получения фокуса. Событие Deactivate (Деактивизация) происходит, когда объект более не является активным окном. Эти события генерируются только при переключении между окнами одного приложения. Если вы перейдете в другую программу и вернетесь в Excel, то эти события не будут сгенерированы.
Событие QueryClose
Это событие генерируется для того, чтобы получить у пользователя разрешение на закрытие формы. В зависимости от кода возврата форма закрывается или нет.
Событие Unload
Используется, если надо что-либо делать при выгрузке формы, например сохранить настройки пользователя.
Событие Terminate
Данное событие происходит, когда все ссылки на экземпляр объекта удаляются из памяти с помощью присвоения всем переменным, которые ссылаются на данный объект, состояния Nothing или когда последняя ссылка на объект выходит за пределы области определения. Это событие идет вслед за Unload.