import MyClasses.Car;import MyClasses.Cat;import MyClasses.Animal;import MyClasses.Dog;public class TestMyClasses { public static void main(String[] args) { Car saddiGaddi = new Car("Black", "Jaguar", "XS4", 2024, 117); System.out.println(saddiGaddi.getBrand()); Cat saddiBilli = new Cat(); saddiBilli.name = "Billo"; // proprty inherited from Animal saddiBilli.age = 69; // property inherited from Animal saddiBilli.breed = "Calico"; saddiBilli.printInfo(); Animal dog = new Dog(); dog.name = "good boy"; dog.age = 42; // dog.breed = "German Shepherd"; // Error, since parent class Animal has no property breed dog.makeSound(); // Bark NOT the output of Animal.makeSound // saddiGaddi.brand = "Jaguar"; // saddiGaddi.colour = "Black"; // saddiGaddi.model = "XS4"; // saddiGaddi.speed = 68; // saddiGaddi.year = 2024; // saddiGaddi.accelerate(1); // System.out.println(saddiGaddi.speed); // OOPS - Classes & Objects // 1) Encapsulation - Bundling of data & methods into a single unit. // This unit is called class. Also hiding data. // 2) Inheritance - A child class inherits the properties and methods // the parent class. // 3) Polymorphism - You can treat the instance of subclass can be treated as // instance of super class. // 4) Abstraction - Essentially hiding internal details. }}