- Apex 编程教程
- 顶点 - 主页
- Apex - 概述
- 顶点 - 环境
- 顶点 - 示例
- Apex - 数据类型
- Apex - 变量
- Apex - 弦乐
- Apex - 数组
- Apex - 常量
- Apex - 决策
- 顶点 - 循环
- Apex - 集合
- Apex - 课程
- Apex - 方法
- Apex - 对象
- Apex - 接口
- Apex-DML
- Apex - 数据库方法
- 顶点 - SOSL
- 顶点-SOQL
- 顶点 - 安全
- Apex - 调用
- Apex - 触发器
- Apex - 触发器设计模式
- Apex - 调节器限制
- Apex - 批处理
- Apex - 调试
- Apex - 测试
- Apex - 部署
- Apex 有用资源
- Apex - 快速指南
- Apex - 资源
- Apex - 讨论
Apex - 方法
类方法
Apex 中的类方法有两个修饰符 - Public 或 Protected。返回类型对于方法来说是强制性的,如果方法没有返回任何内容,那么您必须指定 void 作为返回类型。另外,方法也需要Body。
句法
[public | private | protected | global] [override] [static] return_data_type method_name (input parameters) { // Method body goes here }
语法解释
方括号中提到的参数是可选的。然而,以下组件是必不可少的 -
- 返回数据类型
- 方法名称
类方法的访问修饰符
使用访问修饰符,您可以指定类方法的访问级别。例如,可以从类中和类外的任何位置访问公共方法。私有方法只能在类内访问。Global 将可供所有 Apex 类访问,并且可以公开为其他 Apex 类可访问的 Web 服务方法。
例子
//Method definition and body public static Integer getCalculatedValue () { //do some calculation myValue = myValue+10; return myValue; }
此方法的返回类型为 Integer,并且不带任何参数。
方法可以具有参数,如下例所示 -
// Method definition and body, this method takes parameter price which will then be used // in method. public static Integer getCalculatedValueViaPrice (Decimal price) { // do some calculation myValue = myValue+price; return myValue; }
类构造函数
构造函数是从类蓝图创建对象时调用的代码。它的名称与类名相同。
我们不需要为每个类定义构造函数,因为默认情况下会调用无参构造函数。构造函数对于变量的初始化或在类初始化时完成一个过程非常有用。例如,您希望在调用类时将某些 Integer 变量的值指定为 0。
例子
// Class definition and body public class MySampleApexClass2 { public static Double myValue; // Class Member variable public static String myString; // Class Member variable public MySampleApexClass2 () { myValue = 100; //initialized variable when class is called } public static Double getCalculatedValue () { // Method definition and body // do some calculation myValue = myValue+10; return myValue; } public static Double getCalculatedValueViaPrice (Decimal price) { // Method definition and body // do some calculation myValue = myValue+price; // Final Price would be 100+100=200.00 return myValue; } }
您也可以通过构造函数调用类的方法。这在为视觉力控制器编程 Apex 时可能很有用。创建类对象时,将调用构造函数,如下所示 -
// Class and constructor has been instantiated MySampleApexClass2 objClass = new MySampleApexClass2(); Double FinalPrice = MySampleApexClass2.getCalculatedValueViaPrice(100); System.debug('FinalPrice: '+FinalPrice);
重载构造函数
构造函数可以重载,即一个类可以有多个使用不同参数定义的构造函数。
例子
public class MySampleApexClass3 { // Class definition and body public static Double myValue; // Class Member variable public static String myString; // Class Member variable public MySampleApexClass3 () { myValue = 100; // initialized variable when class is called System.debug('myValue variable with no Overaloading'+myValue); } public MySampleApexClass3 (Integer newPrice) { // Overloaded constructor myValue = newPrice; // initialized variable when class is called System.debug('myValue variable with Overaloading'+myValue); } public static Double getCalculatedValue () { // Method definition and body // do some calculation myValue = myValue+10; return myValue; } public static Double getCalculatedValueViaPrice (Decimal price) { // Method definition and body // do some calculation myValue = myValue+price; return myValue; } }
您可以像我们在前面的示例中执行的那样执行此类。
// Developer Console Code MySampleApexClass3 objClass = new MySampleApexClass3(); Double FinalPrice = MySampleApexClass3.getCalculatedValueViaPrice(100); System.debug('FinalPrice: '+FinalPrice);