ЗАДАНИЕ XXXII
Тема:
Основные понятия объектно-ориентированной методологии. Классы. Иерархия классов.
Наследование. Цель: Краткое знакомство с основными понятиями объектно-ориентированной методологии. Построение простейших классов. |
Для работы необходимо:
владение клавиатурой и мышкой; | |
владение основными приемами работы в MS Windows; | |
владение основными приемами работы в Stratum 2000. |
Основные понятия
Класс - множество объектов, связанных общностью структуры и поведения. Имидж, хранящийся в библиотеке - это класс. Модель имиджа - это определение класса, которое включает текст имиджа, его переменные и схему. Имидж может храниться как в стандартной библиотеке, так и в проекте. Классы (имиджи), хранящиеся в стандартных библиотеках, изменять нельзя, их можно только наследовать. Классы, созданные в проекте, доступны и для изменения в рамках этого проекта. Определение класса - это построение структуры объекта данного класса (схемы), установка связей между элементами (объектами) схемы и запись текстов математических моделей имиджей. В тексте модели отражаются методы класса. Метод - операция над объектом, определенная как часть описания класса. Методы определяют поведение объекта. Объект - конкретное представление класса, обладающее характеристиками состояния, поведения и индивидуальности. Соответствует понятию “экземпляр класса”. Структура и поведение сходных объектов определены в общем для них классе. Объекты одного класса имеют одинаковую модель, но могут отличаться значениями переменных. Все, что может делать объект, заключено в его модели. Для того, чтобы заставить объект выполнить какие-либо действия, надо обработать его модель. Обработка модели выполняется автоматически средой, если объект не “заморожен” (_enable<>0). Менять поведение объекта можно за счет значений переменных по “связям” (флагам). Изменение поведения объекта равнозначно вызову того или иного метода его класса. Для того, чтобы создать экземпляр класса (объект), необходимо вставить имидж из библиотеки на схему. Если мы вставляем на схему новый имидж, мы одновременно создаем новый класс и объект этого класса. Классы могут образовывать иерархию на основе наследования. Иерархия - это подчинение или упорядочение абстракций. Две типичные иерархии в сложной системе - структура классов (иерархия “общее/частное”) и структура объектов (иерархия “целое/часть”). Наследование - это отношение между классами, при котором класс использует структуру или поведение другого (одиночное наследование) или других (множественное наследование) классов. Наследование вводит иерархию “общее/частное”, в которой класс наследует от одного или нескольких более общих надклассов. Подклассы обычно дополняют или переопределяют структуру и поведение своих надклассов. Механизм наследования позволяет объекту использовать описание не только класса, экземпляром которого он является, но также и всех остальных классов, расположенных сверху по цепочке иерархии. Класс, который наследует, называется производным классом; класс, от которого наследуют, называется базовым. Для создания производного класса необходимо скопировать имидж базового класса в проект, присвоить копии имя производного класса и внести необходимые изменения в его модель. |
Задание 1. Создание класса.
Создать простой класс
Calculator (Калькулятор с памятью), выполняющий операции сложение и
вычитание .
Порядок выполнения работы.
Модель класса Add.
Float x,a,_enable
x:=~x+~a
_enable:=0
Модель класса
Sub.Float x,a,_enable
x:=~x-~a
_enable:=0
Модель класса
Control.String st,cod
Float a,flag,flag_add,flag_sub
flag:=1;flag_add:=0;flag_sub:=0
cod:=left(~st,1); a:=float(SubStr(~st,1,10)
swith
case(~cod==”+”)
flag_add:=1;break
case(~cod==”-”)
flag_sub:=1;break
case(~cod==”q”)
CloseAll()
endswith
Модель класса
Reg.Float sum
Задание 2.Создание производного
класса.
Необходимо создать Калькулятор, который
выполняет четыре арифметических действия: сложение, вычитание, умножение и
деление. У вас уже есть класс
Во-первых, создать два новых класса Mult (умножение) и Del (деление) и добавить объекты этих классов в схему Calculator1.
Во-вторых, создать новый класс
Control1 и заменить объектом этого класса объект Control в схеме Калькулятора. Класс Control1 создадим как производный от Control, добавив обработку операций умножение и деление.Порядок выполнения работы.
Дополнительные задания.
Добавьте в Калькулятор дополнительные операции, например, возведение в степень, извлечение корня, вычисление тригонометрических функций.
Создайте два класса: NewControl и Shema. Объект NewControl принимает команду, расшифровывает ее и в зависимости от типа операции формирует значение переменной flag(1,2,3,...), которое по связям передается объекту Shema. Объект Shema в зависимости от значения переменной flag выполняет соответствующую операцию.
Создайте новый Калькулятор как потомок от Calculator1, изменив его модель.
Дополнительные сведения. Для того, чтобы создать производный класс путем копирования базового класса, надо выполнить следующие операции.
|