Студопедия

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

КАТЕГОРИИ:

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






Многомерные свойства






Свойство может быть объявлено как многомерное. Многомерное свойство ведет себя как многомерная переменная, для которой могут использоваться такие функции как $Order. Например, свойство abc задано как многомерное:

Property abc [ MultiDimensional ];

Следующий пример демонстрирует работу со свойством abc:

Set x = $DATA(obj.abc)

Set x = $DATA(obj.abc(3))

Set x = $GET(obj.abc(3))

Set x = $ORDER(obj.abc(" hello", 3))

KILL obj.abc

где obj – это oref-ссылка на объект.

Для работы с многомерными свойствами не используются методы, характерные для классов типов данных. Таким образом, для многомерного свойства с именем Kids не существует методов KidsGet, KidsSet, или KidsLogicalToDisplay. Многомерные свойства не могут отображаться в SQL таблицах.

Методы

Методы – это операции, ассоциированные с объектом. Метод выполняется внутри Caché процесса. Каждый метод может иметь имя, список формальных параметров, возвращаемое значение и программный код. Имя метода должно быть уникально внутри своего класса. Как правило, методы реализованы в виде функций или процедур на языке Caché Object Script (COS). Параметры методу могут передаваться как по ссылке, так и по значению. Тип возвращаемого значения может быть каким угодно, но, как правило, это тип %Library.Status, который возвращает информацию о статусе завершения метода.

Есть методы классов и методы экземпляров. Для задания метода класса используется ключевое слово ClassMethod, для задания метода экземпляра используется ключевое слово Method. Например, следующий синтаксис используется для задания метода класса:

ClassMethod < имя метода> (список параметров) [ключевые слова]

{ код

}

Такой синтаксис используется для задания метода экземпляра:

Method < имя метода> (список параметров) [ключевые слова]

{ код

}

Аргументы метода

Метод может иметь любое число аргументов. При определении метода задаются аргументы со своими типами данных. Можно задать значение по умолчанию для некоторых аргументов, так же как и аргументы, передаваемые по ссылке (по умолчанию аргументы передаются по значению). Например, метод Calculate имеет три аргумента:


Method Calculate(count As %Integer, name, state As %String = " CA")

{

//...

}

где count и state объявлены как %Integer и %String, соответственно. По умолчанию, типом данных необъявленного аргумента является тип %String, в нашем случае name имеет тип %String. Т.е. можно неявно задавать типы аргументов.


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

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