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;