Apex - Phương pháp

Phương pháp lớp học

Có hai công cụ sửa đổi cho Phương thức lớp trong Apex - Công khai hoặc Được bảo vệ. Kiểu trả về là bắt buộc đối với phương thức và nếu phương thức không trả về bất cứ thứ gì thì bạn phải đề cập đến void làm kiểu trả về. Ngoài ra, Body cũng được yêu cầu cho phương pháp.

Syntax

[public | private | protected | global]
[override]
[static]

return_data_type method_name (input parameters) {
   // Method body goes here
}

Giải thích cú pháp

Các tham số được đề cập trong dấu ngoặc vuông là tùy chọn. Tuy nhiên, các thành phần sau là cần thiết:

  • return_data_type
  • method_name

Access Modifier cho các phương thức lớp

Sử dụng công cụ sửa đổi quyền truy cập, bạn có thể chỉ định mức truy cập cho các phương thức lớp. Ví dụ, phương thức Public sẽ có thể truy cập từ bất kỳ đâu trong lớp và bên ngoài Lớp. Phương thức riêng sẽ chỉ có thể truy cập trong lớp. Toàn cầu sẽ có thể truy cập được bởi tất cả các lớp Apex và có thể được hiển thị dưới dạng phương thức dịch vụ web mà các lớp apex khác có thể truy cập.

Example

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

Phương thức này có kiểu trả về là Số nguyên và không có tham số.

Một phương thức có thể có các tham số như được hiển thị trong ví dụ sau:

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

Trình tạo lớp

Hàm tạo là một mã được gọi khi một đối tượng được tạo từ bản thiết kế lớp. Nó có cùng tên với tên lớp.

Chúng ta không cần xác định hàm tạo cho mọi lớp, vì theo mặc định một hàm tạo không đối số được gọi. Các hàm tạo hữu ích cho việc khởi tạo các biến hoặc khi một quá trình được thực hiện tại thời điểm khởi tạo lớp. Ví dụ: bạn sẽ muốn gán giá trị cho một số biến Integer là 0 khi lớp được gọi.

Example

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

Bạn cũng có thể gọi phương thức của lớp thông qua hàm tạo. Điều này có thể hữu ích khi lập trình Apex cho bộ điều khiển lực trực quan. Khi đối tượng lớp được tạo, thì hàm tạo được gọi như hình dưới đây:

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

Quá tải cấu tạo

Các hàm tạo có thể được nạp chồng, tức là một lớp có thể có nhiều hơn một hàm tạo được xác định với các tham số khác nhau.

Example

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

Bạn có thể thực thi lớp này như chúng ta đã thực thi trong ví dụ trước.

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