Apex - Lớp học
Class là gì?
Lớp là một khuôn mẫu hoặc bản thiết kế mà từ đó các đối tượng được tạo ra. Một đối tượng là một thể hiện của một lớp. Đây là định nghĩa tiêu chuẩn của Class. Các lớp Apex tương tự như các Lớp Java.
Ví dụ, InvoiceProcessorlớp mô tả lớp có tất cả các phương thức và hành động có thể được thực hiện trên Hóa đơn. Nếu bạn tạo một phiên bản của lớp này, thì nó sẽ đại diện cho một hóa đơn hiện đang có trong ngữ cảnh.
Tạo lớp học
Bạn có thể tạo lớp trong Apex từ Bảng điều khiển dành cho nhà phát triển, Force.com Eclipse IDE và từ trang chi tiết Lớp Apex.
Từ Bảng điều khiển dành cho nhà phát triển
Làm theo các bước sau để tạo lớp Apex từ Bảng điều khiển dành cho nhà phát triển -
Step 1 - Vào Tên và nhấp vào Bảng điều khiển dành cho nhà phát triển.
Step 2 - Nhấp vào Tệp ⇒ Mới và sau đó nhấp vào lớp Apex.
Từ Force.com IDE
Làm theo các bước sau để tạo một lớp từ Force.com IDE -
Step 1 - Mở Force.com Eclipse IDE
Step 2 - Tạo một dự án mới bằng cách nhấp vào Tệp ⇒ Mới ⇒ Lớp Apex.
Step 3 - Cung cấp Tên cho Lớp và nhấp vào OK.
Khi điều này được thực hiện, lớp mới sẽ được tạo.
Từ trang chi tiết lớp Apex
Làm theo các bước sau để tạo một lớp từ Trang Chi tiết Lớp Apex -
Step 1 - Nhấp vào Tên ⇒ Thiết lập.
Step 2- Tìm kiếm 'Apex Class' và nhấp vào liên kết. Nó sẽ mở trang chi tiết Apex Class.
Step 3 - Nhấp vào 'Mới', sau đó cung cấp Tên cho lớp và sau đó nhấp vào Lưu.
Cấu trúc lớp Apex
Dưới đây là cấu trúc mẫu cho định nghĩa lớp Apex.
Syntax
private | public | global
[virtual | abstract | with sharing | without sharing]
class ClassName [implements InterfaceNameList] [extends ClassName] {
// Classs Body
}
Định nghĩa này sử dụng kết hợp các công cụ sửa đổi quyền truy cập, chế độ chia sẻ, tên lớp và nội dung lớp. Chúng tôi sẽ xem xét thêm tất cả các tùy chọn này.
Example
Sau đây là cấu trúc mẫu cho định nghĩa lớp Apex:
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;
}
}
Truy cập Công cụ sửa đổi
Riêng tư
Nếu bạn khai báo công cụ sửa đổi truy cập là 'Riêng tư', thì lớp này sẽ chỉ được biết cục bộ và bạn không thể truy cập lớp này bên ngoài phần cụ thể đó. Theo mặc định, các lớp có bổ ngữ này.
Công cộng
Nếu bạn khai báo lớp là 'Công khai' thì điều này ngụ ý rằng lớp này có thể truy cập vào tổ chức của bạn và không gian tên đã xác định của bạn. Thông thường, hầu hết các lớp Apex được định nghĩa bằng từ khóa này.
Toàn cầu
Nếu bạn khai báo lớp là 'toàn cầu' thì tất cả các mã apex đều có thể truy cập được, bất kể tổ chức của bạn là gì. Nếu bạn có phương thức được xác định với từ khóa dịch vụ web, thì bạn phải khai báo lớp chứa với từ khóa toàn cầu.
Chế độ chia sẻ
Bây giờ chúng ta hãy thảo luận về các phương thức chia sẻ khác nhau.
Với Chia sẻ
Đây là một tính năng đặc biệt của Apex Classes trong Salesforce. Khi một lớp được chỉ định bằng từ khóa 'With Sharing' thì nó có các hàm ý sau: Khi lớp sẽ được thực thi, nó sẽ tôn trọng cài đặt truy cập của Người dùng và quyền hồ sơ. Giả sử, hành động của Người dùng đã kích hoạt cập nhật bản ghi cho 30 bản ghi, nhưng người dùng chỉ có quyền truy cập vào 20 bản ghi và 10 bản ghi không thể truy cập được. Sau đó, nếu lớp đang thực hiện hành động cập nhật bản ghi, chỉ 20 bản ghi sẽ được cập nhật mà người dùng có quyền truy cập và phần còn lại của 10 bản ghi sẽ không được cập nhật. Đây còn được gọi là chế độ Người dùng.
Không chia sẻ
Ngay cả khi Người dùng không có quyền truy cập vào 10 bản ghi trong số 30 bản ghi, tất cả 30 bản ghi sẽ được cập nhật khi Lớp đang chạy ở chế độ Hệ thống, tức là nó đã được xác định với từ khóa Không chia sẻ. Đây được gọi là Chế độ Hệ thống.
Ảo
Nếu bạn sử dụng từ khóa 'virtual', thì nó chỉ ra rằng lớp này có thể được mở rộng và cho phép ghi đè. Nếu các phương thức cần được ghi đè, thì các lớp phải được khai báo bằng từ khóa ảo.
trừu tượng
Nếu bạn khai báo lớp là 'trừu tượng', thì nó sẽ chỉ chứa chữ ký của phương thức chứ không phải thực thi.
Biến lớp
Syntax
[public | private | protected | global] [final] [static] data_type
variable_name [= value]
Trong cú pháp trên -
- Kiểu dữ liệu biến và tên biến là bắt buộc
- Công cụ sửa đổi và giá trị truy cập là tùy chọn.
Example
public static final Integer myvalue;