Apex - Objetos

Una instancia de clase se llama Objeto. En términos de Salesforce, el objeto puede ser de clase o también puede crear un objeto de sObject.

Creación de objetos desde clase

Puede crear un objeto de clase como podría haberlo hecho en Java u otro lenguaje de programación orientado a objetos.

A continuación se muestra una clase de ejemplo llamada 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);
   }
}

Esta es una clase de instancia, es decir, para llamar o acceder a las variables o métodos de esta clase, debe crear una instancia de esta clase y luego puede realizar todas las operaciones.

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

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

sCreación de objetos

sObjects son los objetos de Salesforce en los que almacena los datos. Por ejemplo, Cuenta, Contacto, etc., son objetos personalizados. Puede crear instancias de objeto de estos sObjects.

A continuación se muestra un ejemplo de inicialización de sObject y muestra cómo puede acceder al campo de ese objeto en particular usando notación de puntos y asignar los valores a los campos.

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

Inicialización estática

Los métodos y variables estáticos se inicializan solo una vez cuando se carga una clase. Las variables estáticas no se transmiten como parte del estado de vista de una página de Visualforce.

A continuación se muestra un ejemplo de método estático y variable estática.

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

Las variables estáticas se instanciarán solo una vez cuando se cargue la clase y este fenómeno se puede usar para evitar la recursividad del disparador. El valor de la variable estática será el mismo dentro del mismo contexto de ejecución y cualquier clase, disparador o código que se esté ejecutando puede referirse a él y evitar la recursividad.