Студопедия

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

КАТЕГОРИИ:

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






Виды методов




В объектной модели Caché различают четыре разновидности методов. Рассмотрим первые два из них

- метод-код

- метод-выражение

Метод-код – содержит код, написанный на языке Caché Object Script. Это просто реализация метода в виде строк кода. Этот вид метода является видом по умолчанию. Например, следующий метод определяет код метода Speak для класса Dog:

Class MyApp.Dog Extends %Persistent [ClassType = persistent]

{

Method Speak() As %String

{

Quit "Woof, Woof"

}

}

Метод-код может содержать любой правильный код на Caché ObjectScript, включая встроенный SQL и HTML, или код на Basic, в зависимости от ключевого слова. При вызове метода используется ссылка на экземпляр:

Write dog.Speak() // выдаст: Woof, Woof

Метод-выражение – содержит выражение на языке Caché Object Script. Передача параметров по ссылке недопустима. Не может содержать макросы, встроенный SQL, встроенный HTML. При компиляции программы все вызовы метода заменяются этим выражением. Обычно используется для простых методов, которые, например, присутствуют в классах типов данных, когда требуется быстрая скорость вычисления выражений. Например, можно конвертировать метод Speak класса из предыдущего примера в метод-выражение:

Method Speak() As %String [CodeMode = expression]

{ "Woof, Woof" }

Этот метод можно вызывать так:

Write dog.Speak()

Запросы

Предоставляют в распоряжение разработчика операции с множествами экземпляров классов. Можно считать, что запросы образуют для объектов класса некий фильтр.

Запросы можно формулировать либо на языке Caché Object Script, либо на SQL. Результат запроса становится доступен через ResultSet – специальный интерфейс для обработки результатов запроса в прикладных программах, написанных на языке Caché Object Script, или на любом другом с использованием ActiveX, либо на языке Java. Кроме того, запросы могут быть представлены в виде хранимых процедур SQL или же представлений(View), а значит, далее обрабатываться средствами SQL.

Пакеты

Пакет это простой способ группирования взаимосвязанных классов под общим именем. Например, приложение может иметь систему счетов: “Accounting” и систему вложений: “Inventory”. Классы, реализованные в этом приложении, могут быть организованы в пакеты “Accounting” и “Inventory”.

На каждый из этих классов можно ссылаться, используя полное его полное имя, которое состоит из имени пакета и имени класса:

Do ##class(Accounting.Invoice).Method()

Do ##class(Inventory.Item).Method()

Если имя пакета может быть определено из контекста, то имя пакета может быть опущено:

Do ##class(Invoice).Method()

Пакет это просто соглашение об именах: он не обеспечивает никакой другой функциональности, кроме именования класса. Так же как и класс, определение пакета существует внутри рабочей области Caché. Рабочая область Caché это логическое представление данных, как правило, одной базы данных.


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