Apex - Oggetti

Un'istanza di classe si chiama Object. In termini di Salesforce, l'oggetto può essere di classe oppure è possibile creare anche un oggetto di sObject.

Creazione di oggetti dalla classe

Puoi creare un oggetto di classe come avresti potuto fare in Java o in un altro linguaggio di programmazione orientato agli oggetti.

Di seguito è riportato un esempio di classe chiamato MyClass -

// Sample Class Example
public class MyClass {
   Integer myInteger = 10;
   
   public void myMethod (Integer multiplier) {
      Integer multiplicationResult;
      multiplicationResult = multiplier*myInteger;
      System.debug('Multiplication is '+multiplicationResult);
   }
}

Questa è una classe istanza, cioè, per chiamare o accedere alle variabili o ai metodi di questa classe, è necessario creare un'istanza di questa classe e quindi è possibile eseguire tutte le operazioni.

// Object Creation
// Creating an object of class
MyClass objClass = new MyClass();

// Calling Class method using Class instance
objClass.myMethod(100);

creazione di un oggetto

Gli oggetti sono gli oggetti di Salesforce in cui vengono archiviati i dati. Ad esempio, Account, Contatto e così via sono oggetti personalizzati. È possibile creare istanze di oggetti di questi oggetti.

Di seguito è riportato un esempio di inizializzazione di sObject e mostra come è possibile accedere al campo di quel particolare oggetto utilizzando la notazione a punti e assegnare i valori ai campi.

// Execute the below code in Developer console by simply pasting it
// Standard Object Initialization for Account sObject
Account objAccount = new Account(); // Object initialization
objAccount.Name = 'Testr Account'; // Assigning the value to field Name of Account
objAccount.Description = 'Test Account';
insert objAccount; // Creating record using DML
System.debug('Records Has been created '+objAccount);

// Custom sObject initialization and assignment of values to field
APEX_Customer_c objCustomer = new APEX_Customer_c ();
objCustomer.Name = 'ABC Customer';
objCustomer.APEX_Customer_Decscription_c = 'Test Description';
insert objCustomer;
System.debug('Records Has been created '+objCustomer);

Inizializzazione statica

I metodi e le variabili statici vengono inizializzati solo una volta quando viene caricata una classe. Le variabili statiche non vengono trasmesse come parte dello stato di visualizzazione di una pagina Visualforce.

Di seguito è riportato un esempio di metodo statico e di variabile statica.

// Sample Class Example with Static Method
public class MyStaticClass {
   Static Integer myInteger = 10;
   
   public static void myMethod (Integer multiplier) {
      Integer multiplicationResult;
      multiplicationResult = multiplier * myInteger;
      System.debug('Multiplication is '+multiplicationResult);
   }
}

// Calling the Class Method using Class Name and not using the instance object
MyStaticClass.myMethod(100);

Static Variable Use

Le variabili statiche verranno istanziate solo una volta quando la classe viene caricata e questo fenomeno può essere utilizzato per evitare la ricorsione del trigger. Il valore della variabile statica sarà lo stesso all'interno dello stesso contesto di esecuzione e qualsiasi classe, trigger o codice in esecuzione può fare riferimento ad esso e impedire la ricorsione.