Can't Instantiate Abstract Class :
Abstract classes cannot be instantiated directly, meaning you cannot create
objects of an abstract class using the new keyword.Abstract classes can contain abstract methods, which are methods without a body.
Subclasses inheriting from an abstract class must implement these abstract methods.
Abstract classes are designed to be extended by subclasses.
Subclasses inherit the properties and methods of the abstract class and can provide their own implementations.
Abstract classes are often used when you want to define a common interface or behaviour that multiple classes should adhere to.
They provide a way to ensure consistency and enforce certain methods to be implemented by subclasses.
They are commonly used in design patterns like the Factory pattern or as base classes for creating polymorphic relationships.