Question
In Object-Oriented Programming, which of the following
Java code snippets correctly demonstrates inheritance ? class Animal { void sound () { System.out.println( "Animal makes a sound" ); }} class Dog extends Animal { void sound () { System.out.println( "Dog barks" ); }}Solution
In this code, the Dog class inherits from the Animal class, and it overrides the sound() method. This is a clear example of inheritance and method overriding in object-oriented programming. Let's break down the code and explain why A is correct and the other options are wrong: · Explanation of Correct Option (A): The Dog class extends the Animal class, which means it inherits the sound() method from Animal . However, Dog provides its own version of sound() , printing "Dog barks" instead of "Animal makes a sound". This is method overriding : a subclass providing a specific implementation of a method that was already defined in its superclass. Method overriding allows the subclass to provide its own version of the inherited method. · Why the Other Options Are Incorrect:
- The Dog class cannot override the sound() method from the Animal class: This is incorrect because the Dog class is allowed to override the sound() method from Animal . Inheritance and overriding are core principles of object-oriented programming in Java.
- The Dog class is inheriting the sound() method from the Animal class but not overriding it: This is incorrect because the Dog class does indeed override the sound() method. It provides a new implementation for that method, which is characteristic of method overriding.
- The Animal class should be an abstract class to allow method overriding: This is incorrect. The Animal class does not need to be abstract for its methods to be overridden. Regular (non-abstract) methods can be overridden in Java.
- The Dog class should not inherit from Animal : This is incorrect because it is logical for a Dog to inherit from an Animal , as all dogs are animals. This reflects real-world relationships and follows the principles of inheritance in OOP.
'रस सिद्धान्त' नामक पुस्तक के रचयिता कौन हैं :
कृपण शब्द का विलोम होगा -
भले ही जख्म भर जाएँ, मगर बातें आजन्म याद रहती हैं ।
निम्नलिखित में से कौन सा वाक्य शुद्ध है ?
' युक्ति सफल होना ' अर्थ के लिए उपयुक्त मुहावरा क्या है ?
निम्नलिखित उद्धरण पर विचार कीजिए:
“ आप जिस तरह बोलते है�...
हिन्दी में व्यंजन वर्णों की संख्या है।
'गौरव' का विपरीतार्थक शब्द है -
निम्न में से कौन सत्य है?
भूमि के अन्दर की जानकारी रखनेवाले को कहा जाता है :