- •Информация и её свойства. Единицы измерения информации.
- •Технические средства. Аналоговые и цифровые вычислительные машины.
- •Технические средства. Основные характеристики эвм.
- •Технические средства. Классификация эвм.
- •Технические средства. Классификация Микро эвм (пэвм). Сертификационный стандарт pc-99.
- •Технические средства. Принцип действия эвм. Обобщенная структура эвм.
- •Технические средства. Принцип программного управления.
- •Технические средства. Взаимодействие внешних и центральных устройств. Структурная схема пэвм.
- •Технические средства. Основные характеристики компьютерных сетей. Иерархия компьютерных сетей.
- •Программное обеспечение (по). Операционные системы. Назначение и характеристики ос.
- •Программное обеспечение (по). Пакеты прикладных программ (ппп).
- •Программное обеспечение (по). Этапы обработки программ под управлением ос.
- •Язык Object Pascal. Классификация типов данных. Целые типы.
- •Язык Object Pascal. Классификация типов данных. Вещественные типы.
- •Язык Object Pascal. Структура программы с подпрограммами. Локальные и глобальные переменные. Формальные и фактические параметры. Пример задачи.
- •Язык Object Pascal. Механизм передачи параметров. Параметры – значения. Параметры - переменные. Пример задачи.
- •Язык Object Pascal. Механизм передачи параметров в подпрограммах. Пример задачи.
- •Язык Object Pascal. Параметры процедурного типа. Пример задачи.
- •Язык Object Pascal. Структура модуля пользователя. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Строковый тип. Процедуры и функции обработки строк. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных множество. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных записи. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных вариантная запись. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных файл. Классификация файлов по типу и методу доступа. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных файл.Типизированные файлы. Процедуры и функции для работы с типизированными файлами. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных файл. Текстовые файлы. Процедуры и функции для работы с текстовыми файлами. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных файл. Нетипизированные файлы. Процедуры и функции для работы с нетипизированными файлами. Пример задачи.
- •Язык Object Pascal. Классификация типов данных. Тип данных классы. Основные понятия. Поля, методы, свойства.
- •Язык Object Pascal. Классификация типов данных. Тип данных классы. Инкапсуляция.
- •Язык Object Pascal.Классификация типов данных. Тип данных классы. Наследование.
- •Язык Object Pascal.Классификация типов данных. Тип данных классы. Полиморфизм.
- •Язык Object Pascal.Классификация типов данных. Тип данных классы. Поля.
- •Язык Object Pascal. Классификация типов данных. Тип данных классы. Методы
- •Конструктор и Деструктор.
- •Язык Object Pascal. Классификация типов данных. Тип данных классы. Одноименные методы.
- •Язык Object Pascal.Классификация типов данных. Тип данных классы. Свойства.
Язык Object Pascal.Классификация типов данных. Тип данных классы. Полиморфизм.
Полиморфизм – свойство классов решать схожие по свойству программы разными методами в рамках ObjectPascal. Поведенческие свойства классов определяются набором входящих в него методов, изменяя алгоритм того или иного метода в потомках класса, программист может придавать этим потомкам отсутствующие у родителей специальные свойства. Для изменения метода необходимо перекрыть его в потомке, то есть объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте родителе и в объекте потомке будут действовать два одноименных метода, имеющих различную алгоритмическую основу и следовательно придающие объектам разные свойства. Это называют полиморфизмом объектов.
В ObjectPascalполиморфизм достигается не только описанным выше механизмом перекрытия методом родителей, но и их виртуализацией, позволяющей родительским методам обращаться к методам своих потомков.
Язык Object Pascal.Классификация типов данных. Тип данных классы. Поля.
Поля – инкапсулированные в класс данные. Поля могут быть любого типа, в том числе данными.
Type Tmyclass = class;
aIntField:integer;
aStrField:string;
aObjField:Tobject;
end;
Каждый объект получает уникальный набор полей, но общие для всех объектов данного класса набор методов и свойств. Фундаментальный принцип инкапсуляции позволяет обращаться к полям только методов и свойств класса, но О. Паскаль позволяет обращаться к полям и напрямую.
Type Tmyclass = class;
FIntField:integer;
FStrField:string;
end;
var aObject:TMyclass;
begin aobject – имя переменной класса
aObject.FintField:=0; FintField – имя поля.
aObject.FstrField:=’строка символов’
Класс потомок получает поля всех своих предков и может дополнить их своими полями, но он не может переопределять поля или удалять их.
Язык Object Pascal. Классификация типов данных. Тип данных классы. Методы
Инкапсулированные (объединенные) в классе процедуры и функции называются методами. Они объявляются также как и обычные подпрограммы:
TypeTmyclass=class;
Function MyFunc (aPar:integer):integer;
ProcedureMyProcedure;
End;
Доступ к методам класса, как и к его полям возможен с помощью составных имен.
var aObject:TMyclass;
begin
aObject.MyProcedure;
end.
Методы класса могут перекрываться в потомках.
Type
TParentclass = class;
Procedure Dowork;
End;
TchildClass = class(tparentclass);
Procedure Dowork;
End;
Потомки обоих классов могут выполнять сходные по названию процессы DoWork, но в каждом случае делать по-разному.
Реализация компилятором.
В О.Паскале чаще используется динамичное замещение методов на этапе прогона (выполнения) программы. Для реализации этого – метод, замещаемый в родительском классе должен объявляться как динамический с директивой Dynamic, идиVirtual. Встретив такое объявление компилятор создает две таблицыDMT(DynamicMetodTable) иVMT(VirtualMT), и поместит в них адреса точек входа, соответственных динамических и виртуальных методов. При каждом обращении к замещенному методу компилятор вставляет ход, позволяющий адрес точки входа в подпрограмму или иную таблицу.
В классе потомки, замещающие метод, объявляется с директивой Override(перекрыть), получив это указание, компилятор создает вход, который на этапе прогона программы поместит в родительскую таблицу точку входа метода класса потомка, что позволяет родителю выполнять нужное действие с помощью нового метода. Пусть например класс с помощью методовSHOWandHideпоказывает что-то на экране и стирает что-то с экрана. Для создания изображения он использует методDrawс логическим параметром
TypeTvisualObject=class(Twincontrol);
Procedure Hide;
Procedure Show;
Procedure Draw(IsShow:Boolean);virtual;
End;
TvisualchildObject = class(TVisualObject);
Procedure Draw(IsShow:boolean);override;
End;
{Реализация методов ShowиHide}
Procedure TVisualObject:show;
Begin
Draw(True);
End;
Procedure TvisualObject:Hide;
Begin
Draw(False);
End;
Методы Drawу родителей и потомков имеют разную реализацию и создают разные изображения, в результате родительские методыShowandHideпоказывают или стирают те или иные изображения будут в зависимости от конкретной реализации методаDrawу любого из своих потомков.
Динамическое связывание в полной мере реализует полиморфизм класса.