- •2.Язык Turbo Pascal: структура программы, простой и составной оператор. Операторы переходов: условный оператор, оператор выбора (переключения).
- •3. Типы данных в системе программирования Turbo Pascal: простые типы, понятие о составных типах данных.…
- •Var m: array[1..10] of integer;
- •6.Основные алгоритмы обработки данных: сортировка данных. Простая и быстрая сортировка. Сортировка массива методом пузырька.
- •6.Организация работ с процедурами и функциями пользователя в языке программирования turbo pascal. Передача параметров. Рекурсия и ее использование.
- •7.Файлы данных в языке Object Pascal: открытие, чтение, запись, закрытие. Текстовые типизированные, нетипизированые файлы. Прямой и последовательный доступ к файлам.
- •Вывод данных. Для вывода результатов работы программы на экран используются процедуры:
- •8. Объектно-ориентированное программирование – общая характеристика и сравнительный анализ. Объект и класс. Базовые принципы ооп – инкапсуляция, полиморфизм и наследование.
- •8.2 Понятие класса в языке ObjectPascal. Структура класса: поля, методы, свойства. Доступ к структурным элементам класса. Иерархия наследования классов. Конструктор и деструктор класса.
- •9.Состав и назначение среды визуального программирования Delphi. Инспектор объектов, палитра компонентов, форма. Настройка свойств формы, создание и запуск приложений.
- •События в Delphi
- •10. Организация интерфейса программы в среде визуального программирования Delphi. Меню пользователя, управляющие элементы (кнопки, списки, флажки)
- •10.2 Использование компонентов RichEdit, StringGrid, OleContainer и WebBrowser. Внедрение ole-объектов в программу Delphi. Подключение файлов формата html.
- •11 Использование компонентов стандартов диалогов для программирования в среде Delphi. Диалоги работы с файлами, цветами, шрифтами, поиска и замены.
- •12. Программирование графики в среде визуального программирования Делфи. Компоненты вывода и построения графических изображений.
- •13. Организация работы с бд в среде Delphi. Подключение, просмотр и редактирование бд.
- •15.Компьютерная графика.
- •16.Операционные системы как средство распределения и управления ресурсами эвм
- •18 Общие сведения о операционной системе Windows. Загрузка операционной системы. Особенности настройки Windows и установки приложений.
- •19, Прикладное программное обеспечение общего назначения: обзор и классификация. Прикладные инструментальные пакеты для решения математических задач на эвм: назначение и основные возможности.
- •20.Офисные пакеты: назначение, состав, возможности. Создание презентаций.
- •Структура таблицы реляционной модели данных
- •Структура таблицы реляционной модели данных
- •Структура таблицы реляционной модели данных
- •Просмотр и корректировка данных с помощью экранных форм
- •25 Система обработки текста: назначение и основные возможности. Вставка объектов и работа с таблицами.
- •27. Табличные процессоры: назначение и основные возможности. Работа со списками в табличном процессоре.
- •Сортировка списка. Фильтрация (выборка) записей списка. Структура.
- •Скрыть детали
- •29. Язык sql. Типы данных sql. Команды языка sql.
- •30.Язык sql. Оператор выборки данных Select и примеры его использования.
8.2 Понятие класса в языке ObjectPascal. Структура класса: поля, методы, свойства. Доступ к структурным элементам класса. Иерархия наследования классов. Конструктор и деструктор класса.
Понятие объекта в языках программирования реализовано, как совокупность свойств (структур данных, характерных для этого объекта), методов их обработки (программ изменения свойств) и событий, на который данный объект может реагировать, и они же приводят к изменению свойств объекта.
<Имя потомка> =
object<имя предка>
поле;
…
поле;
метод;
…
метод;
end;
Если объекты имеют идентичную структуру и отличаются только значениями свойств, то в таких случаях в программе создаётся новый тип, основанный на единой структуре объекта, он называется классом, а каждый конкретный объект, имеющий структуру этого класса- экземпляр класса. Класс имеет заранее заданные свойства. Класс знает, как решать определённые задачи, т.е. располагает методами решения. Но обычно класс не используется в программах. Класс является как бы шаблоном, на основе которого создаются экземпляры класса или объекты.
О. Класс – пользовательский тип данных, который по структуре подобен записи, но в качестве полей содержит специальные элементы – поля, методы и свойства.
Структура класса гораздо сложнее записи, поэтому внутри класса выделены специальные области:
Type
Имя класса = class (имя предка)
Published {Специальная область элементов, доступных для инспектора объектов}
…..
Private {Область закрытых элементов, доступных только внутри методов данного}
….. {класса и подпрограмм данного модуля, недоступны потомках}
Protected {Область закрытых элементов, доступных методам класса и его потомков}
…..
Public {Область элементов, доступных в любом модуле проекта}
…..
Automated {Секция автоматизации - элементы, необходимые для технологии OLE }
…..
end;
Каждый интерфейс обеспечивает следующие уровни доступа:
Private(закрытый). Объявленные переменные и методы доступны только для того кода , который находится в блоке реализации самого объекта. Директива Private скрывает особенности реализации объекта от пользователей и защищает члены этого объекта от доступа и изменения извне.
Protected (защищенный). Члены класса доступны объектам, производным от данного класса. Это позволяет скрыть внутреннее устройство объекта от пользователя и обеспечить необходимую гибкость, и эффективность доступа к полям и методам объекта для его потомков.
Public(скрытый). Члены объекта доступны в любом месте программы. Конструкторы и деструкторы всегда должны быть объявлены как public.
Published (экспортируемый). Для членов этого объекта в процессе компиляции будет создана информация о типах времени выполнения. Это позволит другим элементам приложения получать информацию об элементах объекта, объявленных как published.
При описании элементов структуры класса принято в начале задавать поля, затем методы и свойства.
О. Поле – элемент структуры, обозначающий хранение простых данных.
Поле (Fild) можно определить как переменную экземпляра, представляющие собой данные для объекта. Поле в объекте подобно полю в записи языка Pascal, но в отличии от записи, к полям в объекте обычно не разрешен прямой доступ. Это способствует защите полей от случайного или предумышленного искажения. Доступ к полям происходит через свойства, которые могут выступать как фильтры и не пропускать недопустимых значений. Объявление полей происходит как объявления обычных переменных, при этом поля чаще всего размещаются в закрытом интерфейсе класса, доступ к которому ограничен.
Поля имеют тип, обычно это стандартные типы (число, строка, знак, логический тип, массив). Но можно использовать и сложную структуру – например другой класс. Главная особенность поля – способ доступа к данным. Здесь разрешен прямой доступ к данным. Принцип инкапсуляции требует, чтобы к полям обращались только через свойства и методы, поэтому разумно размещать поля в областях Private и Protected. Класс потомок получает все поля всех своих предков и может дополнять их своими, но не может их переопределять (по сравнению например с методами) или удалять.
Замечание. Так же как и для полей записи обращение к полям возможно либо с помощью указания имени объекта, точки и имени поля (составное имя), либо с помощью структурного оператора with.
Методы представляют собой процедуры и функции, принадлежащие классу. Объявляются внутри описания объекта. Они определяют поведение класса.
procedure <Заголовок> (<Параметр1>, <Параметр2>: integer);
Объявление метода внутри объявления объектного типа содержит только заголовок. Тело метода определяется вне объявления объекта. Его заголовок дожжен содержать имя объекта, которому принадлежит метод.
procedure <ТипОбъекта.Метод> (<Параметр1>, <Параметр2>: integer);
begin
…
end;
Методы подразделяются на статические и виртуальные. Виртуальный метод отличается от статического тем, что реализующий его код подсоединяется к исполняемой программе не в процессе компиляции, а в процессе выполнения, что достигается поздним связыванием. Это дает возможность строить иерархию объектов с одинаковыми названиями методов, реализуемыми различными кодами.
При описании класса методы описываются в 2 этапа:
Заголовок метода помещается в ту или иную область описания класса.
Содержимое процедуры или функции метода размещается ниже области Type, где описывается структура класса. При этом указывается имя класса, точка и имя метода. Параметры можно не указывать, они уже описаны в заголовке метода (но при генерации метода описание параметров часто повторяют). Доступны внутри любого метода все поля, методы и свойства данного класса и некоторые элементы других классов.
В классе всегда должны присутствовать 2 важнейших метода: конструктор и деструктор.
Конструктор – метод, который создает конкретный объект - экземпляр класса. Деструктор – метод, который удаляет конкретный объект из памяти.
Конструктор – спец. метод, инициализирующий объект, содержащий виртуальные методы, он объявляется специально зарезервированным словом constructor. Он инициализирует объект путем установления связи между объектом и специальной таблицей виртуальных методов, содержащей адреса кодов, реализующих Вирт. методы. Может использоваться для инициализации полей данных объекта.
Деструктор – спец. метод, освобождающий память «кучи» (Вся динамическая память рассматривается как подобная стеку структура, называемая кучей) от динамических объектов. Использует слово destructor.
При проектировании класса можно создать произвольное кол-во др. методов, необходимых для решения конкретных задач.
Перегрузка методов. Методы могут быть перегружены так, чтобы класс содержал несколько методов с одним именем, но с различными списками параметров. Перегруженные методы должны быть объявлены с указанием директивы overload.
Свойства (Property) представляют собой сущности, обеспечивающие доступ к данным и коду, содержащемуся в классе, тем самым избавляя конечного пользователя от деталей реализации класса. По отношению к компонентам свойства являются теми элементами, сведения о которых отображаются в инспекторе объектов.
О. Свойства – поле процедурного типа. Свойства должны регулировать доступ к полям. Для этого у каждого свойства есть поле и 2 метода – чтения (read) и записи (write). Обычно свойство связано с полем и указывает те методы класса, которые обеспечивают чтение значения из поля и запись нового значения в поле. Формат записи заголовка свойства:
Property имя свойства: тип Read метод чтения из поля Write метод записи в поле Default значение по умолчанию;
При работе программы свойство используется как обычное поле, но фактически ввод и чтение данных возможно только через указанные процедуры-методы. Если нет необходимости в специальных методах, то можно указывать вместо процедуры (метода) имя поля. Если поле доступно только для чтения то не указывается метод записи и наоборот. Значение по умолчанию присваивается полю свойства, если оно не было определено (что удобно для инициализации объекта). Принято имя метода чтения начинать с Get, а метода записи с Set. Для того чтобы свойство было доступно инспектору объектов его необходимо поместить в область Pablished.
Наследование. – возможность создания новых объектов, которые наследуют свойства и поведение родительских объектов. Это позволяет создавать иерархии объектов, включающие наборы объектов, порождённых от одного общего предка и обладающих всё большей специализацией и функциональностью по сравнению со своими предками, но использующие все возможности родительских классов. Преимущество наследования заключается в совместном использовании многими объектами общего кода.