Apex - Objets

Une instance de classe est appelée Object. En termes de Salesforce, l'objet peut être de classe ou vous pouvez également créer un objet de sObject.

Création d'objets à partir de la classe

Vous pouvez créer un objet de classe comme vous l'avez peut-être fait en Java ou dans un autre langage de programmation orienté objet.

Voici un exemple de classe appelée 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);
   }
}

Il s'agit d'une classe d'instance, c'est-à-dire que pour appeler ou accéder aux variables ou méthodes de cette classe, vous devez créer une instance de cette classe et ensuite vous pouvez effectuer toutes les opérations.

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

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

Création d'un sObject

Les sObjects sont les objets de Salesforce dans lesquels vous stockez les données. Par exemple, Compte, Contact, etc., sont des objets personnalisés. Vous pouvez créer des instances d'objet de ces sObjects.

Voici un exemple d'initialisation de sObject et montre comment vous pouvez accéder au champ de cet objet particulier en utilisant la notation par points et attribuer les valeurs aux champs.

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

Initialisation statique

Les méthodes et variables statiques ne sont initialisées qu'une seule fois lorsqu'une classe est chargée. Les variables statiques ne sont pas transmises dans le cadre de l'état d'affichage d'une page Visualforce.

Voici un exemple de méthode statique ainsi que de variable statique.

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

Les variables statiques ne seront instanciées qu'une seule fois lorsque la classe est chargée et ce phénomène peut être utilisé pour éviter la récursivité du déclencheur. La valeur de la variable statique sera la même dans le même contexte d'exécution et toute classe, déclencheur ou code en cours d'exécution peut s'y référer et empêcher la récursivité.