- Apex编程教程
- Apex - 首页
- Apex - 概述
- Apex - 环境
- Apex - 示例
- Apex - 数据类型
- Apex - 变量
- Apex - 字符串
- Apex - 数组
- Apex - 常量
- Apex - 决策
- Apex - 循环
- Apex - 集合
- Apex - 类
- Apex - 方法
- Apex - 对象
- Apex - 接口
- Apex - DML
- Apex - 数据库方法
- Apex - SOSL
- Apex - SOQL
- Apex - 安全性
- Apex - 调用
- Apex - 触发器
- Apex - 触发器设计模式
- Apex - 限制
- Apex - 批处理
- Apex - 调试
- Apex - 测试
- Apex - 部署
- Apex有用资源
- Apex - 快速指南
- Apex - 资源
- Apex - 讨论
Apex - 类
什么是类?
类是一个模板或蓝图,从中创建对象。对象是类的实例。这是类的标准定义。Apex类类似于Java类。
例如,InvoiceProcessor类描述了一个包含所有方法和操作的类,这些方法和操作可以对发票执行。如果您创建此类的实例,则它将表示当前上下文中单个发票。
创建类
您可以从开发人员控制台、Force.com Eclipse IDE以及Apex类详细信息页面创建Apex类。
从开发人员控制台
请按照以下步骤从开发人员控制台创建Apex类:
步骤1 - 转到名称并单击开发人员控制台。
步骤2 - 单击文件⇒新建,然后单击Apex类。
从Force.com IDE
请按照以下步骤从Force.com IDE创建类:
步骤1 - 打开Force.com Eclipse IDE
步骤2 - 通过单击文件⇒新建⇒Apex类来创建一个新项目。
步骤3 - 为类提供名称,然后单击确定。
完成后,将创建新类。
从Apex类详细信息页面
请按照以下步骤从Apex类详细信息页面创建类:
步骤1 - 单击名称⇒设置。
步骤2 - 搜索“Apex类”并单击链接。这将打开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类都是使用此关键字定义的。
全局(Global)
如果将类声明为“全局”,则无论您的组织如何,所有apex代码都可以访问它。如果您使用webservice关键字定义了方法,则必须使用global关键字声明包含类。
共享模式
现在让我们讨论不同的共享模式。
With Sharing
这是Salesforce中Apex类的特殊功能。当使用“With Sharing”关键字指定类时,它具有以下含义:当类执行时,它将遵守用户的访问设置和配置文件权限。假设,用户的操作触发了30条记录的记录更新,但用户只能访问20条记录,而10条记录不可访问。然后,如果类正在执行更新记录的操作,则只会更新用户有权访问的20条记录,而其余10条记录将不会更新。这也被称为用户模式。
Without Sharing
即使用户无法访问30条记录中的10条,所有30条记录都将被更新,因为类在系统模式下运行,即它已使用Without Sharing关键字定义。这称为系统模式。
虚拟(Virtual)
如果使用“virtual”关键字,则表示可以扩展此类并允许覆盖。如果需要覆盖方法,则应使用virtual关键字声明类。
抽象(Abstract)
如果将类声明为“抽象”,则它只包含方法的签名,而不包含实际的实现。
类变量
语法
[public | private | protected | global] [final] [static] data_type variable_name [= value]
在上文的语法中:
- 变量数据类型和变量名称是必须的
- 访问修饰符和值是可选的。
示例
public static final Integer myvalue;