Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Объекты и классы объектов






 

В языке Симула - 67 (точнее, в Симула - 1, 1960 год) впервые было введено такое понятие как объект и поэтому его справедливо можно считать первой системой объектно - ориентированного программиро­вания. Объект - это программный компонент, обладающий атрибутами и способный выполнять опреде­ленные действия. Атрибутами могут быть переменные, массивы, процедуры, ссылки на другие объекты. Действия, выполняемые объектом, задаются последовательностью операторов, называемой сценарием его функционирования, поведения или правилами действий. Симула-объекты являются удобным средством для отображения существующих или проектируемых объектов реальности, а также абстрактных поня­тий. Каждый объект обладает системным атрибутом, указывающим на исполняемый оператор его правил действий. Этот атрибут называется локальным управлением (ЛУ).

В Симула-программе могут одновременно существовать несколько объектов, находящихся на разных стадиях исполнения своих сценариев поведения. Среди них только один объект в каждый момент времени выполняет операторы правил действий. Этот объект называется активным или текущим. ЛУ этого объекта совпадает с центральным управлением и двигается по операторам сценария его поведения. ЛУ любого другого объекта при этом остается неподвижным и указывает на оператор с которого начнется работа этого объекта, когда он станет текущим. Понятно, что операторы правил действий объекта могут быть использованы за несколько активных фаз, в промежутках между которыми работают другие объекты. Такой способ взаимодействия объектов получил название квазипаралельного исполнения, а сами объекты, в этом случае называются сопрограммами.

Объекты могут принадлежать к одному или нескольким множествам родственных объектов, называемых классами. Объекты первого класса имеют общую структуру атрибутов и одинаковые правила действий, но могут различаться конкретными значениями атрибутов. Классы объектов определяются в Симула-программах описаниями, которые называются декларациями классов. Синтаксически декларация класса очень похожа на описание процедуры.

Рассмотрим строение декларации класса на примере описания автобусов, различающихся своими параметрами:

| class АВТОБУС (P, L, B, H, N, T, S);

(1) | имя класса формальные параметры

| real Р, L, В, Н, Т, S; integer N; - спецификации параметров

 

(2) | begin real ПУТЬ;

| procedure ТЕХОСМОТР; …;

| procedure СТОП (V); real V;...;

|.............................. |

| if ПУТЬ > =10000 then ТЕХОСМОТР;. | (3)

|............................... |

| if КРАСНЫЙ then СТОП (60); |

|............................... |

| end (декларации класса автобус).

 

Здесь (1) - заголовок декларации класса, в котором формальные параметры P,.., S трактуются как вес, длина, ширина, высота, пассажировместимость рейсового автобуса, срок его эксплуатации, длина мар­шрута соответственно, (2) - тело декларации класса. (3) - описание сценария поведения автобуса. В роли формальных параметров деклараций классов могут использоваться переменные и массивы.

Телом декларации класса может быть любой оператор языка, чаще всего блок. Все переменные, масси­вы, процедуры, классы, описанные в декларации класса, считаются атрибутами объектов определяемого класса.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал