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


Полезное:

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


Категории:

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






Массивы как объекты





 

Понятие массив обычно является частью определения языка программирования. В объектной технологии нет необходимости нагружать нотацию специальными заранее определенными конструкциями: массив - контейнерный объект, экземпляр класса, который можно назвать ARRAY.

ARRAY хороший пример родового класса. Рассмотрим первый набросок этого класса:[17]

 

indexing

description: "Последовательность значений одного типа или согласуемых типов,%

%доступных через целые индексы в заданном диапазоне"

class ARRAY [G] creation

make

feature

make (minindex, maxindex: INTEGER) is

-- Размещение массива с границами minindex и maxindex

-- (пустой, если minindex > maxindex)

do... end

lower, upper, count: INTEGER

-- Минимальный и максимальный допустимый индекс; размер массива.

put (v: G; i: INTEGER) is

-- Присвоить v элементу массива с индексом i

do... end

infix "@", item (i: INTEGER): G is

-- Элемент с индексом i

do... end

end -- класса ARRAY

 

 

Для создания массива a с границами m и n, тип объявления которого ARRAY [T] с заданным типом T, нужно выполнить инструкцию создания

 

create a.make (m, n)

 

 

Для задания значений элементов массива используется процедура put: вызов a.put(x, i) присваивает значение x i -ому элементу. Для доступа к элементам можно использовать функцию item (синоним инфиксной операции @, поясняемой позже), например:

 

x:= a.item (i)

Вот схема того, как этот класс может быть использован клиентом:

pa: ARRAY [POINT]; p1: POINT; i, j: INTEGER

...

create pa.make (-32, 101) -- Разместить массив с указанными границами.

pa.put (p1, i) -- Присвоить значение p1 элементу с индексом i.

...

p1:= pa.item (j) -- Присвоить сущности p1 значение элемента с индексом j.

 

 

В обычной нотации (скажем, в Pascal) нужно писать:

pa [i]:= p1 вместо pa.put (p1, i)

p1:= pa [i] вместо p1:= pa.item (i)

 







Date: 2015-12-13; view: 400; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию