What is Class and How to define Class in Apex? How to created class in Apex?
A class is a template or blueprint from which objects are created.For example, the PurchaseOrder class describes an entire purchase order, and everything that you can do with a purchase order. An instance of the PurchaseOrder class is a specific purchase order that you send or receive.
A class can contain variables and methods. Variables are used to specify the state of an object, such as the object's Name or Type. Since these variables are associated with a class and are members of it, they are commonly referred to as member variables. Methods are used to control behavior, such as getOtherQuotes or copyLineItems.
To define a class, specify the following:
1. Access modifiers:
- You must use one of the access modifiers (such as public or global) in the declaration of a top-level class.
- You do not have to use an access modifier in the declaration of an inner class.
2. Optional definition modifiers (such as virtual, abstract, and so on)
3. Required: The keyword class followed by the name of the class
4. Optional extensions and/or implementations
Use the following syntax for defining classes:
private | public | global
[virtual | abstract | with sharing | without sharing | (none)]
class ClassName [implements InterfaceNameList | (none)] [extends ClassName | (none)]
// The body of the class
• The private access modifier declares that this class is only known locally, that is, only by this section of code. This is the default access for inner classes—that is, if you don't specify an access modifier for an inner class, it is considered private. This keyword can only be used with inner classes.
• The public access modifier declares that this class is visible in your application or namespace.
• The global access modifier declares that this class is known by all Apex code everywhere. All classes that contain methods defined with the webService keyword must be declared as global. If a method or inner class is declared as global, the outer, top-level class must also be defined as global.
• The with sharing and without sharing keywords specify the sharing mode for this class.
• The virtual definition modifier declares that this class allows extension and overrides. You cannot override a method with the override keyword unless the class has been defined as virtual.
• The abstract definition modifier declares that this class contains abstract methods, that is, methods that only have their signature declared and no body defined.
Declaring Class Variables :
To declare a variable, specify the following:
• Optional: Modifiers, such as public or final, as well as static.
• Required: The data type of the variable, such as String or Boolean etc...
• Required: The name of the variable.
• Optional: The value of the variable.
Use the following syntax when defining a variable:
[public | private | protected | global | final] [static] data_type variable_name [= value]
private static final Integer MY_INT;
private final Integer i = 1;