Puncak - Kelas
Apa itu Kelas?
Kelas adalah templat atau cetak biru tempat objek dibuat. Objek adalah turunan dari kelas. Ini adalah definisi standar Kelas. Kelas Apex mirip dengan Kelas Java.
Sebagai contoh, InvoiceProcessorkelas menjelaskan kelas yang memiliki semua metode dan tindakan yang dapat dilakukan pada Faktur. Jika Anda membuat instance dari kelas ini, maka itu akan mewakili satu faktur yang saat ini ada dalam konteks.
Membuat Kelas
Anda dapat membuat kelas di Apex dari Konsol Pengembang, Force.com Eclipse IDE, dan dari halaman detail Kelas Apex juga.
Dari Konsol Pengembang
Ikuti langkah-langkah ini untuk membuat kelas Apex dari Konsol Pengembang -
Step 1 - Buka Nama dan klik Konsol Pengembang.
Step 2 - Klik File ⇒ New lalu klik kelas Apex.
Dari Force.com IDE
Ikuti langkah-langkah berikut untuk membuat kelas dari Force.com IDE -
Step 1 - Buka Force.com Eclipse IDE
Step 2 - Buat Proyek Baru dengan mengklik File ⇒ New ⇒ Apex Class.
Step 3 - Berikan Nama untuk Kelas dan klik OK.
Setelah ini selesai, kelas baru akan dibuat.
Dari Halaman Detail Kelas Apex
Ikuti langkah-langkah ini untuk membuat kelas dari Apex Class Detail Page -
Step 1 - Klik pada Name ⇒ Setup.
Step 2- Cari 'Apex Class' dan klik tautannya. Ini akan membuka halaman detail Apex Class.
Step 3 - Klik 'Baru', lalu berikan Nama kelas, lalu klik Simpan.
Struktur Kelas Puncak
Di bawah ini adalah contoh struktur untuk definisi kelas Apex.
Syntax
private | public | global
[virtual | abstract | with sharing | without sharing]
class ClassName [implements InterfaceNameList] [extends ClassName] {
// Classs Body
}
Definisi ini menggunakan kombinasi pengubah akses, mode berbagi, nama kelas dan badan kelas. Kami akan melihat semua opsi ini lebih lanjut.
Example
Berikut adalah contoh struktur untuk definisi kelas 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;
}
}
Pengubah Akses
Pribadi
Jika Anda mendeklarasikan pengubah akses sebagai 'Private', maka kelas ini hanya akan dikenal secara lokal dan Anda tidak dapat mengakses kelas ini di luar bagian tersebut. Secara default, kelas memiliki pengubah ini.
Publik
Jika Anda mendeklarasikan kelas sebagai 'Publik' maka ini berarti bahwa kelas ini dapat diakses oleh organisasi Anda dan namespace yang Anda tentukan. Biasanya, sebagian besar kelas Apex ditentukan dengan kata kunci ini.
Global
Jika Anda mendeklarasikan kelas sebagai 'global' maka ini akan dapat diakses oleh semua kode apex terlepas dari organisasi Anda. Jika Anda memiliki metode yang ditentukan dengan kata kunci layanan web, maka Anda harus mendeklarasikan kelas yang mengandung dengan kata kunci global.
Mode Berbagi
Sekarang mari kita bahas berbagai mode berbagi.
Dengan Berbagi
Ini adalah fitur khusus Kelas Apex di Salesforce. Ketika sebuah kelas ditentukan dengan kata kunci 'Dengan Berbagi' maka itu memiliki implikasi sebagai berikut: Ketika kelas akan dijalankan, itu akan menghormati pengaturan akses Pengguna dan izin profil. Misalkan, tindakan Pengguna telah memicu pembaruan catatan untuk 30 catatan, tetapi pengguna hanya memiliki akses ke 20 catatan dan 10 catatan tidak dapat diakses. Kemudian, jika kelas melakukan tindakan untuk memperbarui catatan, hanya 20 catatan akan diperbarui yang pengguna memiliki akses dan sisa 10 catatan tidak akan diperbarui. Ini juga disebut sebagai mode Pengguna.
Tanpa Berbagi
Meskipun Pengguna tidak memiliki akses ke 10 dari 30 catatan, semua 30 catatan akan diperbarui saat Kelas berjalan dalam mode Sistem, yaitu, telah ditentukan dengan kata kunci Tanpa Berbagi. Ini disebut Mode Sistem.
Virtual
Jika Anda menggunakan kata kunci 'virtual', ini menunjukkan bahwa kelas ini dapat diperpanjang dan penggantian diizinkan. Jika metode perlu diganti, maka kelas harus dideklarasikan dengan kata kunci virtual.
Abstrak
Jika Anda mendeklarasikan kelas sebagai 'abstrak', maka itu hanya akan berisi tanda tangan metode dan bukan implementasi yang sebenarnya.
Variabel Kelas
Syntax
[public | private | protected | global] [final] [static] data_type
variable_name [= value]
Dalam sintaks di atas -
- Jenis data variabel dan nama variabel wajib diisi
- Pengubah dan nilai akses bersifat opsional.
Example
public static final Integer myvalue;