📜  Apex-课程

📅  最后修改于: 2020-11-05 03:11:55             🧑  作者: Mango


什么是课程?

类是从中创建对象的模板或蓝图。对象是类的实例。这是Class的标准定义。 Apex类类似于Java类。

例如, InvoiceProcessor类描述了具有可在Invoice上执行的所有方法和操作的类。如果创建此类的实例,则它将代表当前上下文中的单个发票。

创建课程

您可以从开发人员控制台,Force.com Eclipse IDE和Apex类详细信息页面在Apex中创建类。

从开发者控制台

请按照以下步骤从开发者控制台创建Apex类-

步骤1-转到名称,然后单击开发者控制台。

步骤2-单击File⇒New,然后单击Apex类。

建立课程

从Force.com IDE

请按照以下步骤从Force.com IDE创建类-

步骤1-打开Force.com Eclipse IDE

步骤2-通过单击File⇒New⇒Apex Class创建一个新项目。

步骤3-提供类的名称,然后单击确定。

完成后,将创建新类。

从Apex类详细信息页面

请按照以下步骤从Apex类详细信息页面创建类-

步骤1-单击名称⇒设置。

步骤2-搜索“ Apex Class”,然后单击链接。它将打开Apex类的详细信息页面。

从详细信息页面创建Apex类Step1

步骤3-单击“新建”,然后提供课程名称,然后单击“保存”。

从详细信息页面创建Apex类Step2

顶点类结构

下面是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;
   }
}

访问修饰符

私人的

如果将访问修饰符声明为“私有”,则此类仅在本地已知,并且您不能在特定片段之外访问该类。默认情况下,类具有此修饰符。

上市

如果您将该类声明为“公共”,则意味着您的组织和定义的名称空间均可访问该类。通常,大多数Apex类都使用此关键字定义。

全球

如果您将该类声明为“全局”类,那么所有顶点代码都可以访问该类,而与您的组织无关。如果您使用Web服务关键字定义了方法,则必须使用global关键字声明包含类。

共享方式

现在让我们讨论共享的不同模式。

与分享

这是Salesforce中Apex类的一项特殊功能。当使用’With Sharing’关键字指定一个类时,它具有以下含义:当该类将被执行时,它将尊重用户的访问设置和配置文件权限。假设用户的操作已触发30条记录的记录更新,但是用户只能访问20条记录,而10条记录不可访问。然后,如果类正在执行更新记录的操作,则只有20条记录可以被用户访问,而其余10条记录将不被更新。这也称为用户模式。

没有分享

即使用户无权访问30条记录中的10条记录,当Class在系统模式下运行时,也将更新所有30条记录,即,已使用Without Sharing关键字定义了该记录。这称为系统模式。

虚拟

如果使用’virtual’关键字,则表明可以扩展此类并且允许重写。如果需要重写方法,则应使用virtual关键字声明类。

抽象

如果将类声明为“抽象”,则它将仅包含方法的签名,而不包含实际的实现。

类变量

句法

[public | private | protected | global] [final] [static] data_type
variable_name [= value]

在上面的语法中-

  • 变量数据类型和变量名称是必需的
  • 访问修饰符和值是可选的。

public static final Integer myvalue;