在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ù)是可選的。 但是,需要以下組件:
使用訪問修飾符,可以為類方法指定訪問級(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ù)是在從類藍(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è)類可以有不止一個(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);
更多建議: