Basic Concepts What are the four main principles of Object-Oriented Programming (OOP)? Encapsulation: Bundling the data (variables) and the methods (functions) that manipulate the data into a single unit, or class, and restricting access to some of the object's components. Abstraction: Hiding the complex implementation details and showing only the essential features of the object. Inheritance: Creating new classes (derived classes) from existing classes (base classes) to promote code reuse. Polymorphism: The ability of different objects to respond in a unique way to the same message (method call). It can be achieved through method overriding (runtime polymorphism) or method overloading (compile-time polymorphism). What is a class and an object in OOP? Class: A blueprint or template for creating objects. It defines a datatype by bundling data and methods that work on the data into one single unit. Object: An instance of a class. It is a concrete entity based on a class, with...