Inheritance in Apex
Inheritance in Apex is a mechanism by which one object acquires all the properties and behaviors of parent object.
The idea behind inheritance in Apex is that you can create new classes that are built upon existing classes. Whenever you inherit from an existing class, you can reuse methods and fields of parent / super class, as well as you can add new methods and fields also based on the requirements.
Reason to use inheritance :
- For Method Overriding (to achieved runtime polymorphism).
- For Code Reusability
Various term used in inheritance :
- Class: A class is a concept/prototype/template of common properties, from which objects are created.
- Child Class/Sub Class: Child class is a class which inherits the other class, known as child class. It is also called extended class, derived class, or sub class.
- Parent Class/Super Class: Parent class is the class from which a subclass inherits the features. It is also called a Super class or a base class.
- Virtual: The virtual modifier declares that this class allows for extension and overrides.
- Override: You cannot override a method with the override keyword in the child class unless the class and method have been defined as virtual.
Example ,
here I have created a parent class and declared it as virtual , so that it can be inherited by child / other class.
public virtual class ParentClass { public void showDataParent() { System.debug('This is Parent-Class'); } }
here I have created a child
public class ChildClass extends ParentClass { public void showDataChild() { System.debug('This is Child-Class'); } }
Now create an object of ChildClass apex class.
ChildClass objChildClass = new ChildClass(); // child-class object created.
objChildClass.showDataChild(); objChildClass.showDataParent();
See the output :
By : Harshal Lad
Understood
ReplyDeletethanks
ReplyDelete