Apex - 類方法

2019-10-26 16:26 更新

類方法

在Apex中有兩個(gè)類方法的修飾符:Public或Protected。 返回類型是必須的方法,如果方法不返回任何東西,那么你必須提到void作為返回類型。 方法需要body。


語法:

[public | private | protected | global] 
[override] 
[static] 
return_data_type method_name (input parameters) 
{
// Method body goes here
}


語法說明:

方括號(hào)中提到的那些參數(shù)是可選的。 但是,需要以下組件:

  • return_data_type
  • method_name


類方法訪問修飾符:

使用訪問修飾符,可以為類方法指定訪問級(jí)別。 例如,公共方法將可以從類中的任何地方和類之外訪問。 私有方法只能在類中訪問。 Global將被所有Apex類訪問,并且可以作為其他頂點(diǎn)類訪問的Web服務(wù)方法。


例如:

//Method definition and body
public static Integer getCalculatedValue () {
    //do some calculation
    myValue = myValue+10;
    return myValue;
}

此方法的返回類型為Integer,不帶參數(shù)。

方法可以具有如下面示例所示的參數(shù):

//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;
}


類構(gòu)造函數(shù)

構(gòu)造函數(shù)是在從類藍(lán)圖創(chuàng)建對(duì)象時(shí)調(diào)用的代碼。 它與類名稱具有相同的名稱。


我們不需要為每個(gè)類定義構(gòu)造函數(shù),因?yàn)槟J(rèn)情況下調(diào)用無參數(shù)構(gòu)造函數(shù)。 當(dāng)我們想要在類初始化時(shí)完成一些變量或過程的初始化時(shí),構(gòu)造器是有用的。 例如:當(dāng)調(diào)用類時(shí),您想要將某些整數(shù)變量的值賦值為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;
}
}


你也可以通過構(gòu)造函數(shù)調(diào)用類的方法。 視覺控制器編程Apex時(shí),可能有用。當(dāng)創(chuàng)建類對(duì)象時(shí),調(diào)用構(gòu)造函數(shù),如下所示:

//Class and constructor has been instantiated
MySampleApexClass2 objClass = new MySampleApexClass2();
Double FinalPrice = MySampleApexClass2.getCalculatedValueViaPrice(100);
System.debug('FinalPrice: '+FinalPrice);


重載構(gòu)造函數(shù)

構(gòu)造函數(shù)可以重載,即一個(gè)類可以有不止一個(gè)用不同參數(shù)定義的構(gòu)造函數(shù)。


例如:

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;
}
}


您可以執(zhí)行這個(gè)類,因?yàn)槲覀円呀?jīng)在以前的例子中執(zhí)行它。

//Developer Console Code
MySampleApexClass3 objClass = new MySampleApexClass3();
Double FinalPrice = MySampleApexClass3.getCalculatedValueViaPrice(100);
System.debug('FinalPrice: '+FinalPrice);

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)