Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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; Нарушение авторских прав |