Класс — это шаблон или план, из которого создаются объекты. Объект является экземпляром класса. Это стандартное определение класса. Классы Apex похожи на классы Java.
Например, класс InvoiceProcessor описывает класс, который имеет все методы и действия, которые могут быть выполнены в Invoice. Если вы создадите экземпляр этого класса, он будет представлять один счет, который в данный момент находится в контексте.
Создание классов
Вы можете создать класс в Apex из консоли разработчика, интегрированной среды разработки Eclipse Force.com, а также со страницы сведений о классе Apex.
Из консоли разработчика
Выполните следующие действия, чтобы создать класс Apex из консоли разработчика.
Шаг 1 — Перейдите в Name и нажмите на консоль разработчика.
Шаг 2 — Нажмите Файл ⇒ Создать, а затем нажмите на класс Apex.
Из Force.com IDE
Выполните следующие действия, чтобы создать класс из IDE Force.com —
Шаг 1 — Откройте Force.com Eclipse IDE
Шаг 2 — Создайте новый проект, нажав Файл ⇒ Новый ⇒ Apex Class.
Шаг 3 — Введите имя для класса и нажмите «ОК».
Как только это будет сделано, новый класс будет создан.
Со страницы сведений о классе Apex
Выполните следующие шаги, чтобы создать класс на странице сведений о классе Apex —
Шаг 1 — Нажмите на Имя ⇒ Настройка.
Шаг 2 — Найдите «Apex Class» и нажмите на ссылку. Откроется страница сведений о классе Apex.
Шаг 3 — Нажмите «Создать», затем укажите имя для класса и нажмите «Сохранить».
Структура класса Apex
Ниже приведен пример структуры для определения класса Apex.
Синтаксис
private | public | global [virtual | abstract | with sharing | without sharing] class ClassName [implements InterfaceNameList] [extends ClassName] { // Classs Body }
Это определение использует комбинацию модификаторов доступа, режимов совместного использования, имени класса и тела класса. Мы рассмотрим все эти варианты дальше.
пример
Ниже приведен пример структуры для определения класса Apex:
public class MySampleApexClass { //Class definition and body public static Integer myValue = 0; //Class Member variable public static String myString = ''; //Class Member variable public static Integer getCalculatedValue () { // Method definition and body // do some calculation myValue = myValue+10; return myValue; } }
Модификаторы доступа
Частный
Если вы объявите модификатор доступа как «Private», то этот класс будет известен только локально, и вы не сможете получить доступ к этому классу за пределами этой конкретной части. По умолчанию классы имеют этот модификатор.
общественного
Если вы объявляете класс как «Public», это означает, что этот класс доступен для вашей организации и вашего определенного пространства имен. Обычно большинство классов Apex определяются с помощью этого ключевого слова.
Глобальный
Если вы объявите класс как «глобальный», он будет доступен для всех кодов Apex независимо от вашей организации. Если у вас есть метод, определенный с помощью ключевого слова веб-службы, вы должны объявить содержащий класс с глобальным ключевым словом.
Режимы обмена
Давайте теперь обсудим различные способы обмена.
С обменом
Это особенность Apex Classes в Salesforce. Когда класс задается с помощью ключевого слова «С общим доступом», это имеет следующие последствия: Когда класс будет выполнен, он будет уважать настройки доступа пользователя и разрешение профиля. Предположим, действие пользователя вызвало обновление записи для 30 записей, но пользователь имеет доступ только к 20 записям, а 10 записей недоступны. Затем, если класс выполняет действие по обновлению записей, будет обновлено только 20 записей, к которым имеет доступ пользователь, а остальные 10 записей не будут обновлены. Это также называется режимом пользователя.
Без обмена
Даже если у пользователя нет доступа к 10 записям из 30, все 30 записей будут обновлены, так как класс работает в системном режиме, т. Е. Он был определен с помощью ключевого слова Without Sharing. Это называется системным режимом.
виртуальный
Если вы используете ключевое слово «virtual», это означает, что этот класс может быть расширен и переопределения разрешены. Если методы должны быть переопределены, то классы должны быть объявлены с ключевым словом virtual.
Аннотация
Если вы объявите класс как «абстрактный», он будет содержать только сигнатуру метода, а не фактическую реализацию.
Переменные класса
Синтаксис
[public | private | protected | global] [final] [static] data_type variable_name [= value]
В приведенном выше синтаксисе —
- Тип данных и имя переменной являются обязательными
- Модификаторы доступа и значения являются необязательными.
пример