Explain the following (i) Overriding (ii) Function Polymorphism


Q.) Explain the following

(i) Overriding (ii) Function Polymorphism

Subject: Object Oriented Programming and Methodology

(i) Overriding:

Overriding is a mechanism in object-oriented programming that allows a subclass to define a different implementation of a method inherited from a superclass.

How Does Overriding Work?

  • In overriding, the subclass provides its own implementation of the method, replacing the implementation inherited from the superclass.
  • This allows the subclass to customize the behavior of the method specifically for its own objects.
  • The overriding method has the same name, return type, and parameters as the overridden method in the superclass, but it provides a different implementation.
  • When an object of the subclass calls the method, the overridden method in the subclass is executed instead of the overridden method in the superclass.

Key Points about Overriding:

  • Overriding is a core concept in object-oriented programming that allows for greater flexibility and code reusability.
  • A subclass can override methods from its superclass to provide specialized behavior for its own objects.
  • Overriding is achieved by declaring a method in the subclass with the same name, return type, and parameters as the method being overridden in the superclass.
  • The overriding method replaces the implementation of the overridden method and provides a customized implementation specific to the subclass.

(ii) Function Polymorphism:

Function polymorphism in programming languages allows functions with the same name but different implementations to be used interchangeably. This is achieved through function overloading or method overriding.

Function Overloading:

  • Function overloading allows a function to have multiple implementations with different parameter lists.
  • When a function is called, the compiler determines which implementation to use based on the types and number of arguments passed.
  • This enables the same function name to be used for different operations, depending on the context.

Method Overriding:

  • Method overriding occurs when a subclass provides its own implementation of a method inherited from a superclass.
  • When a method is overridden in a subclass, the subclass's implementation is used instead of the superclass's implementation.
  • This allows subclasses to customize the behavior of inherited methods to suit their specific needs.

Key Points about Function Polymorphism:

  • Function polymorphism allows functions with the same name but different implementations to be used interchangeably.
  • Function overloading and method overriding are two techniques used to achieve function polymorphism.
  • Function overloading enables multiple implementations of a function with different parameter lists, allowing for different operations to be performed under the same name.
  • Method overriding allows subclasses to customize the behavior of inherited methods, providing flexibility and code reusability.