ЁЯУв Too many exams? DonтАЩt know which one suits you best? Book Your Free Expert ЁЯСЙ call Now!


    Question

    Which of the following scenarios illustrates runtime

    polymorphism?
    A A method with the same name but different parameters within the same class. Correct Answer Incorrect Answer
    B Overriding a base class method in the derived class and calling it through a base class reference. Correct Answer Incorrect Answer
    C Using default arguments in methods to achieve different outputs. Correct Answer Incorrect Answer
    D Defining a method as static for shared functionality across objects. Correct Answer Incorrect Answer
    E A constructor with a parameter list in the derived class. Correct Answer Incorrect Answer

    Solution

    Runtime polymorphism (or dynamic method dispatch) occurs when a method's implementation is determined at runtime. This is achieved using method overriding in OOP. A derived class overrides a method of the base class, and the method to execute is determined by the type of the object being referenced at runtime. Example: class Animal { ┬а ┬а void sound() { ┬а ┬а ┬а ┬а System.out.println("Animal makes a sound"); ┬а ┬а }} class Dog extends Animal { ┬а ┬а void sound() { ┬а ┬а ┬а ┬а System.out.println("Dog barks"); ┬а ┬а }} public class Main { ┬а ┬а public static void main(String[] args) { ┬а ┬а ┬а ┬а Animal animal = new Dog();┬а // Base class reference pointing to a derived class object ┬а ┬а ┬а ┬а animal.sound();┬а ┬а ┬а ┬а ┬а ┬а // Outputs: Dog barks ┬а ┬а }} Why Other Options Are Incorrect: 1. Method with the same name but different parameters within the same class: This is compile-time polymorphism (method overloading), not runtime polymorphism. 2. Default arguments in methods: Default arguments provide flexibility but are unrelated to polymorphism. They simplify method calls without changing the behavior based on the objectтАЩs runtime type. 3. Static methods for shared functionality: Static methods are class-level and cannot participate in runtime polymorphism, as they are resolved at compile time. 4. Constructor with a parameter list in the derived class: Constructors are not polymorphic as they do not inherit or override behavior in OOP.

    Practice Next
    More Data Analytics Languages Questions
    ask-question