ホームページ  >  記事  >  Java  >  Java での関数のオーバーロード

Java での関数のオーバーロード

WBOY
WBOYオリジナル
2024-08-30 15:44:18843ブラウズ

Java での関数のオーバーロードは、同じ名前を持つ関数が存在するが、渡されるパラメーターの数が異なる場合に発生します。これらのパラメーターは、int、double、float などのデータが異なる可能性があり、異なる値を返すために使用され、それぞれのオーバーロードされた関数内で計算されます。方法。関数のオーバーロードは、分離され、個々の機能に関して相互に区別するために使用できるより多くの関数を関与させることで、プログラムの複雑さを軽減し、効率を高めるために使用されます。オーバーロードされた関数は、コンパイル時または静的ポリモーフィズムに関連しています。型変換の概念もあります。これは基本的に、変数の型の変換を計算するために使用されるオーバーロードされた関数で使用されます。

構文

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

オーバーロードされた関数には名前は同じですが、異なるタイプの引数またはパラメータが割り当てられています。これらは、メソッド内で割り当てられた変数の数内で数学的演算または論理演算を計算するために使用できます。オーバーロードされた関数の構文は次のとおりです。最大 N 個の変数が割り当てられています。

public class OverloadedMethod
{
public int FunctionName(int x, int y) //Two parameters in the function
{
return (x + y); //Returns the sum of the two numbers
}
// This function takes three integer parameters
public int FunctionName(int x, int y, int z)
{
return (x + y + z);
}
// This function takes two double parameters
public double FunctionName(double x, double y)
{
return (x + y);
}//Many more such methods can be done with different number of parameters
// Code used to input the number and
public static void main(String args[])
{
FunctionName s = new FunctionName();
System.out.println(s.FunctionName(10, 20));
System.out.println(s. FunctionName(10, 20, 30));
System.out.println(s. FunctionName(10.5, 20.5));
}
}

関数のオーバーロードの仕組み

関数のオーバーロードは、同じ名前を持つ異なる関数を呼び出すことによって機能しますが、渡される引数の数は異なります。関数のオーバーロードの長所と短所を適切に識別するために示すことができるコーディング例が多数あります。

関数のオーバーロードの利点

関数のオーバーロードは同じ名前で機能します。したがって、それぞれの関数内で行われる作業と同じ内容のメソッドを作成する必要はありません。この機能により、名前の競合の問題が解決されるだけでなく、プログラムの可読性も向上します。

関数のオーバーロードの例

次の例は次のとおりです。

例 #1

コーディング例 1 では、パネルにさまざまな出力を表示するために使用されるオーバーロードされた main() を見て、オーバーロードされた main() がプログラミング言語でどのように使用されるか、およびさまざまな関数の呼び出しによってさまざまな出力がどのように生成されるかを示します。 、それぞれ。

コード:

//Java program with overloaded main()
import java.io.*;
public class Test
{
// First main method which is created
public static void main(String[] args)
{
System.out.println("Main function called");
Test.main("Everyone");
}
// First overloaded main method
public static void main(String ar1)
{
System.out.println("Hi, " + ar1);
Test.main("Hello Everyone", "Buenos dias");
}
//Second overloaded main method
public static void main(String ar1, String ar2)
{
System.out.println("Mi todo eres tu, " + ar1 + ", " + ar2);
}
}

main() が呼び出されると、以下に示すように出力パネルに大きく表示される出力があります。まず、main() の print ステートメントが呼び出され、出力されます。次に、プログラムは引数の数を区別することにより、コード内に存在する 2 つのオーバーロードされた関数を分離します。 main() は最初のオーバーロードされた関数を呼び出し、最初のオーバーロードされた関数は 2 番目のオーバーロードされた関数を呼び出します。

出力:

Java での関数のオーバーロード

例 #2

2 番目のコーディング例では、乗算を実行する関数ですが、割り当てられる引数の数が異なります。これは、さまざまな引数を処理するためのさまざまな関数を開発する際に役立ちます。

コード:

class Adder
{
static int multiply(int a,int b)
{
return a*b;
}
static int multiply(int a,int b,int c)
{
return a*b*c;}
}
class TestOverloading1
{
public static void main(String[] args)
{
System.out.println(Adder.multiply(110,110));
System.out.println(Adder.multiply(110,110,110));
}
}

出力:

Java での関数のオーバーロード

例 #3

このコーディング例では、同じ名前と同じ数の引数を内部に持つ関数が存在しますが、それらの関数には、それらの間の違いとして機能する 1 つの機能があります。存在する機能の違いは、関数に存在するデータ型です。1 つは整数で、もう 1 つは double です。

コード:

//Program to add numbers distinguishing on the datatype of parameters
class Number
{
static int add(int a, int b)//Both integer variables
{
return a+b;//Returning the sum
}
static double add(double a, double b)//Both double variables
{
return a+b;//Returning the sum
}
}
class TestOverloading2
{
public static void main(String[] args)
{
System.out.println(Number.add(1,110));
System.out.println(Number.add(12.4,18.8));
}
}

上記のプログラムでは、2 つの整数値の合計を計算するときに 2 つの整数値を入力します。入力された数値は 10 と 20 です。出力では値 30 が得られ、合計がそのまま出力されます。また、2 つの double 値を入力すると、合計が出力されます。これが 2 番目のオーバーロード関数です。 double データ型の変数の値を 15.5 と 16.3 として入力すると、最終的には合計である 31.8 という結果が表示されます。以下の画面にプログラムの出力パネルが表示されます。

出力:

Java での関数のオーバーロード

結論

この記事では、名前は同じですが引数の数やデータ型が異なるオーバーロード関数のさまざまな機能と概念について説明します。また、オーバーロードされた関数をどのように実行する必要があるかに関する利点と構文にも注目します。この記事では、オーバーロードされた関数は主に乗算と加算を行うために使用されており、プログラミングの概念全体を詳しく説明します。

以上がJava での関数のオーバーロードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。