×
Apex 编程教程Apex 环境Apex 示例Apex 数据类型Apex 变量Apex 字符串Apex 数组Apex 常量Apex 决策Apex 循环Apex 集合Apex 类Apex 类方法Apex 对象Apex 接口Apex DMLApex 数据库方法Apex SOSLApex SOQLApex 安全性Apex 调用Apex 触发器Apex 触发设计模式Governer Limits调节器限制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
}


语法说明:

方括号中提到的那些参数是可选的。 但是,需要以下组件:

  • return_data_type
  • method_name


类方法访问修饰符:

使用访问修饰符,可以为类方法指定访问级别。 例如,公共方法将可以从类中的任何地方和类之外访问。 私有方法只能在类中访问。 Global将被所有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;
}


类构造函数

构造函数是在从类蓝图创建对象时调用的代码。 它与类名称具有相同的名称。


我们不需要为每个类定义构造函数,因为默认情况下调用无参数构造函数。 当我们想要在类初始化时完成一些变量或过程的初始化时,构造器是有用的。 例如:当调用类时,您想要将某些整数变量的值赋值为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);

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)