Überladen in Java - Typenüberladung in Java mit Beispielen

Inhaltsverzeichnis:

Anonim

Einführung in das Überladen in Java

Java ist eine objektorientierte Programmiersprache und folgt grundlegenden OOP-Konzepten. Überladen ist eines der wichtigsten Konzepte in Java. Überladen ermöglicht verschiedene Methoden mit demselben Namen in einer Klasse, aber mit unterschiedlichen Signaturen. Die Signatur enthält die Anzahl der Parameter, den Datentyp der Parameter und die Reihenfolge der in der Methode übergebenen Parameter. In Java können sowohl die Methode als auch die Konstruktoren überladen werden. Das Überladen von Methoden erfolgt zur Kompilierungszeit und ist daher zur Kompilierungszeit als Polymorphismus bekannt. Das Überladen von Methoden in einer Klasse wird durchgeführt, um die Lesbarkeit von Programmen zu verbessern, sodass der Programmierer eine erweiterte Implementierung jeder Methode für verschiedene Szenarien schreiben kann.

Stellen Sie sich ein Szenario vor, in dem der Programmierer das Volumen verschiedener geometrischer Figuren wie Würfel, Zylinder und rechteckiges Prisma ermitteln möchte. Da drei von ihnen eine andere Formel zum Ermitteln des Volumens und eine andere Anzahl von Parametern haben. Das Volumen des Würfels benötigt nur einen Parameter, der Zylinder nimmt zwei und das rechteckige Prisma nimmt drei Parameter auf. Der Hauptzweck besteht jedoch darin, nur das Volumen der Zahlen zu ermitteln. So können wir getrennte Volumenmethoden für verschiedene Figuren mit demselben Namen erstellen. Auf diese Weise wird das Überladen von Methoden in praktischen Szenarien verwendet.

Wie funktioniert das Überladen in Java?

Die Funktionsweise des Methodenüberladens wird anhand eines Beispiels erläutert:

Code:

class Main(
int volume(int side)
(
return side * side * side;
)
int volume(int length, int breadth, int height)
(
return length*breadth*height;
)
double volume(int radius, int height)
( return 3.14 * (radius * radius)* height / 3;
)
public static void main(String() args)
(
Main oe = new Main();
System.out.println("Volume of Cube " +oe.volume(10));
System.out.println("Volume of Rectangular prism " +oe.volume(10, 12, 30));
System.out.println("Volume of Cone "+oe.volume(5, 10));
) )

Ausgabe:

Erklärung des obigen Codes: Im obigen Beispiel müssen wir das Volumen von 3 geometrischen Figuren ermitteln, damit wir 3 separate überladene Methoden mit demselben Namen wie 'volume' erstellt haben, aber alle Methoden haben die unterschiedliche Anzahl von Argumenten. Wenn also in der Hauptmethode das one.volume (10) ausgeführt wird, wird die Methode von volume mit einem einzelnen Parameter aufgerufen, dh int volume (int side). Ähnlich werden für die anderen Methoden des Volumens auf der Basis der Anzahl der Argumente verschiedene Methoden aufgerufen und verarbeitet.

In diesem Beispiel werden Methoden aufgrund der Anzahl der Argumente überladen, sie können jedoch auch aufgrund des Datentyps der Parameter und der Reihenfolge der Parameter überladen und daher nur entsprechend aufgerufen werden.

Arten des Überladens in Java

Grundsätzlich gibt es in Java drei Methoden zum Überladen von Methoden:

1. Anzahl der Parameter

Java-Methoden können durch die Anzahl der in der Methode übergebenen Parameter überladen werden. Wenn zum Beispiel die 1-Methode des Volumes 2 Parameter und eine andere Methode 3 Parameter hat, wird sie anhand der Anzahl der Parameter unter Überladen aufgeführt.

Code:

class Multiplication
(
int mult(int a, int b) // method mult having 2 parameters
(
return a*b;
)
//Method Overloading on number of parameters
int mult(int a, int b, int c) // method mult having 3 parameters
(
return a*b*c;
)
)
class Main
(
public static void main(String() args)
(
Multiplication M = new Multiplication();
System.out.println(M.mult(10, 9));
System.out.println(M.mult(10, 9, 8));
)
)

Ausgabe:

2. Datentyp der Parameter

Der Datentyp der in der Methode übergebenen Parameter spielt eine große Rolle, und daher können Methoden als überladen betrachtet werden, wenn 2 oder Methoden denselben Namen mit derselben oder einer unterschiedlichen Anzahl von Argumenten, aber unterschiedlichen Datentypen von Parametern in den verschiedenen Methoden haben.

Code:

class Multiplication
(
int mult(int a, int b) // method mult having 2 parameters
(
return a*b;
)
//Method Overloading on datatype of parameters
double mult(double a, double b) // method mult overloaded
(
return a*b;
)
)
class Main
(
public static void main(String() args)
(
Multiplication M = new Multiplication();
System.out.println(M.mult(10, 9));
System.out.println(M.mult(10.5, 9.8));
)
)

Ausgabe:

3. Reihenfolge der Parameter

Das Überladen von Methoden kann auch durch Ändern der Reihenfolge der Parameter von zwei oder mehr überladenen Methoden erfolgen. Wenn zum Beispiel die Parameter von 1 Methode (String x, char y) und die andere Methode (char x, String y) sind, aber beide denselben Namen haben, werden die obigen 2 Methoden als von einer anderen Sequenz von überladen betrachtet Parameter.

Code:

class Employee
(
void details(String name, char rank) // method details having 2 parameters
(
System.out.println("Employee name is "+name);
System.out.println("Employee ranking is "+rank);
) //Method Overloading on sequence of parameters
void details(char rank, String name) // method details overloaded
(
System.out.println("Employee name is "+name);
System.out.println("Employee ranking is "+rank);
)
)
class Main
(
public static void main(String() args)
( Employee emp = new Employee();
emp.details("Rajesh", 'A'); // calls the first method (details(String, char))
emp.details("Ram", 'B'); // calls the second method (details(char, String))
)
)

Ausgabe:

Erklärung des obigen Codes: Im obigen Beispiel sind beide Methoden von 'details' auf der Grundlage der Reihenfolge der Parameter überladen. Wenn die Anweisung emp.details ('Rajesh', 'A') aufgerufen wird, wird die Methode mit den Argumenten in der Reihenfolge (String, char) aufgerufen und verarbeitet, dh void details (String name, char rank).

Regeln für das Überladen in Java

Nachfolgend sind die Regeln aufgeführt, die beim Überladen von Java beachtet werden sollten:

  • Die erste und wichtigste Regel beim Überladen von Methoden ist, dass Methoden in einer einzelnen Klasse denselben Namen haben müssen.
  • Zwei oder mehr Methoden in einer Klasse können auf der Grundlage unterschiedlicher Signaturen überladen werden, und die Signatur enthält die Anzahl der Parameter, Datentypen der Parameter und die Reihenfolge der Parameter, wie oben erläutert.
  • Der Rückgabetyp einer Methode ist kein Teil der Signatur, sodass das Überladen niemals auf der Grundlage des Rückgabetyps erfolgen kann. Andernfalls wird der Fehler beim Kompilieren verursacht.

Fazit

Überladen ist eines der wichtigsten Konzepte in Java und kann sowohl für Methoden als auch für Konstruktoren durchgeführt werden. Es gibt einige Regeln zum Überladen, die beachtet werden sollten, bevor diese in der Programmierung implementiert werden.

Empfohlene Artikel

Dies ist eine Anleitung zum Überladen in Java. Hier diskutieren wir einige bestimmte Regeln für das Überladen, die vor der Implementierung wichtiger Konzepte in Java, Methoden und Konstruktoren berücksichtigt werden sollten. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren -

  1. Überladen in C ++
  2. Java-Bereitstellungstools
  3. Vererbung in Java
  4. Überladen in PHP
  5. Polymorphismus in Java
  6. Vererbung in PHP