当前位置:K88软件开发文章中心编程语言非主流编程语言Apex → 文章内容

Apex - 类方法

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 16:30:47

由 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 - 类方法