Apex - 类方法
由 kaikai0220 创建,youj 最后一次修改 2016-12-12 类方法在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 bodypublic 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 calculationmyValue = myValue+price;return myValue;}类构造函数构造函数是在从类蓝图创建对象时调用的代码。 它与类名称具有相同的名称。 我们不需要为每个类定义构造函数,因为默认情况下调用无参数构造函数。 当我们想要在类初始化时完成一些变量或过程的初始化时,构造器是有用的。 例如:当调用类时,您想要将某些整数变量的值赋值为0。 例如: //Class definition and bodypublic class MySampleApexClass2 {public static Double myValue; //Class Member variablepublic 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 instantiatedMySampleApexClass2 objClass = new MySampleApexClass2();Double FinalPrice = MySampleApexClass2.getCalculatedValueViaPrice(100);System.debug('FinalPrice: '+FinalPrice);重载构造函数构造函数可以重载,即一个类可以有不止一个用不同参数定义的构造函数。 例如: public class MySampleApexClass3 { //Class definition and bodypublic static Double myValue; //Class Member variablepublic 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 CodeMySampleApexClass3 objClass = new MySampleApexClass3();Double FinalPrice = MySampleApexClass3.getCalculatedValueViaPrice(100);System.debug('FinalPrice: '+FinalPrice);
Apex - 类方法