類是創(chuàng)建對(duì)象的模板或藍(lán)圖.。一個(gè)對(duì)象是一個(gè)類的一個(gè)實(shí)例。這是類的標(biāo)準(zhǔn)定義。 Apex類與Java類類似。
例如:
例如,InvoiceProcessor類描述了具有我們可以用Invoice執(zhí)行的所有方法和操作的類。如果您創(chuàng)建此類的一個(gè)實(shí)例,則它將表示當(dāng)前在上下文中的單個(gè)Invoice。
您可以在開發(fā)人員控制臺(tái),F(xiàn)orce.com Eclipse IDE和Apex類別詳細(xì)信息頁(yè)面中在Apex中創(chuàng)建類。
從開發(fā)者控制臺(tái):
第1步:進(jìn)入名稱,然后單擊開發(fā)人員控制臺(tái)。
第2步:點(diǎn)擊文件=>新建,然后單擊關(guān)于Apex類
從Force.com IDE:
第1步:打開Force.com Eclipse IDE
第2步:通過點(diǎn)擊File => New => Apex Class創(chuàng)建一個(gè)新項(xiàng)目。
第3步:提供類的名稱,然后單擊OK。
一旦完成,將創(chuàng)建新類。
來自Apex類別詳細(xì)信息頁(yè)面:
第1步:點(diǎn)擊Name => Setup
第2步:搜索“Apex類”,然后單擊鏈接。 它將打開Apex類別詳細(xì)信息頁(yè)面。
第3步:點(diǎn)擊“新建”,然后提供類的名稱,然后單擊保存。
下面是Apex類定義的示例結(jié)構(gòu)。
語(yǔ)法:
private | public | global [virtual | abstract | with sharing | without sharing] class ClassName [implements InterfaceNameList] [extends ClassName] { // Classs Body }
此定義使用訪問修飾符,共享模式,類名和類主體的組合。 我們將進(jìn)一步看看所有這些選項(xiàng)。
例如:
以下是Apex類定義的示例結(jié)構(gòu):
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:如果您將訪問修飾符聲明為“私有”,則此類將僅在本地已知,并且您無法在該特定片段之外訪問此類。 默認(rèn)情況下,類有此修飾符。
Public:如果你聲明該類為“公共”,這意味著這個(gè)類是可訪問您的組織和您定義的命名空間。 通常,大多數(shù)Apex類都使用此關(guān)鍵字定義。
Global:如果將類聲明為“全局”,那么無論您的組織如何,都可以由所有頂點(diǎn)代碼訪問。 如果您使用webservice關(guān)鍵字定義方法,那么必須使用global關(guān)鍵字聲明包含類。
共享:
這是Salesforce中的Apex類的一個(gè)特殊功能。當(dāng)使用“With Sharing”關(guān)鍵字指定類時(shí),它具有以下含義:當(dāng)類將被執(zhí)行時(shí),它將尊重用戶的訪問設(shè)置和配置文件權(quán)限。假設(shè),用戶的操作已經(jīng)觸發(fā)了30條記錄的記錄更新,但用戶只能訪問20條記錄,并且不能訪問10條記錄。然后,如果類正在執(zhí)行更新記錄的操作,則只有20個(gè)記錄將被更新,用戶有權(quán)訪問,其余10個(gè)記錄不會(huì)更新。這也稱為用戶模式。
無共享:
即使用戶無法訪問30個(gè)中的10個(gè)記錄,所有30個(gè)記錄也將隨著類在系統(tǒng)模式下運(yùn)行而更新,即它已使用無共享關(guān)鍵字定義。這稱為系統(tǒng)模式。
虛擬:
如果你使用'virtual'關(guān)鍵字,那么它表示這個(gè)類可以被擴(kuò)展并允許覆蓋。如果你想覆蓋方法,那么類應(yīng)該使用virtual關(guān)鍵字聲明。
抽象:
如果你聲明該類為'abstract',那么它將只包含方法的簽名,而不是實(shí)際的實(shí)現(xiàn)。
語(yǔ)法:
[public | private | protected | global] [final] [static] data_type variable_name [= value]
在上面的語(yǔ)法中:
例如:
public static final Integer myvalue;
更多建議: