Question

    Which of the following is an example of Polymorphism in

    Object-Oriented Programming?
    A A base class object cannot access the methods of a derived class Correct Answer Incorrect Answer
    B The ability of a function to accept objects of different types and perform operations Correct Answer Incorrect Answer
    C A derived class can directly modify private attributes of the base class Correct Answer Incorrect Answer
    D An object can only interact with its own type Correct Answer Incorrect Answer
    E Data members of a class are always public Correct Answer Incorrect Answer

    Solution

    Polymorphism is one of the fundamental principles of Object-Oriented Programming (OOP) and refers to the ability of a function, method, or operator to act on different types of data. The word “polymorphism” literally means "many forms," and in OOP, it allows objects of different classes to be treated as objects of a common superclass. The most common types of polymorphism are method overriding and method overloading .

    • Why It Is Important: Polymorphism enables flexibility and scalability in code. It allows a method to be used with different types of objects, which reduces code redundancy and promotes code reusability. For example, a single method in a base class could be used for different derived classes, as long as the derived classes implement the same method.
    • Real-World Example: Consider an abstract class Animal with a method sound() . The subclasses Dog and Cat override the sound() method. When the method sound() is called, it produces different results based on the object type ( Dog or Cat ), demonstrating polymorphism.
    Why Other Options Are Incorrect:
    • A base class object cannot access the methods of a derived class: This is a misunderstanding of inheritance. A base class object cannot access the methods specific to a derived class unless the object is of the derived type.
    • A derived class can directly modify private attributes of the base class: This violates the principle of encapsulation . A derived class cannot directly access private members of the base class unless accessors are provided.
    •  An object can only interact with its own type: This contradicts polymorphism, as polymorphism allows objects to interact with different types through method overriding or overloading.
    • Data members of a class are always public: This is incorrect. Data members can be public, private, or protected, but OOP encourages encapsulation, where data members are often private, not public.

    Practice Next