Groovy-メソッド

Groovyにあるメソッドは、戻り値の型または defキーワード。メソッドは、任意の数の引数を受け取ることができます。引数を定義するときに、型を明示的に定義する必要はありません。public、private、protectedなどの修飾子を追加できます。デフォルトでは、可視性修飾子が提供されていない場合、メソッドはパブリックです。

最も単純なタイプのメソッドは、以下に示すようなパラメーターのないメソッドです。

def methodName() { 
   //Method code 
}

以下は簡単な方法の例です

class Example {
   static def DisplayName() {
      println("This is how methods work in groovy");
      println("This is an example of a simple method");
   } 
	
   static void main(String[] args) {
      DisplayName();
   } 
}

上記の例では、DisplayNameは、コンソールにテキストを出力するために使用される2つのprintlnステートメントで構成される単純なメソッドです。静的mainメソッドでは、DisplayNameメソッドを呼び出しているだけです。上記のメソッドの出力は次のようになります-

This is how methods work in groovy 
This is an example of a simple method

メソッドパラメータ

メソッドは、その動作が1つ以上のパラメーターの値によって決定される場合に、より一般的に役立ちます。メソッドパラメータを使用して、呼び出されたメソッドに値を転送できます。パラメータ名は互いに異なっている必要があることに注意してください。

以下に示すようなパラメータを持つ最も単純なタイプのメソッド-

def methodName(parameter1, parameter2, parameter3) { 
   // Method code goes here 
}

以下は、パラメーターを使用した簡単なメソッドの例です。

class Example {
   static void sum(int a,int b) {
      int c = a+b;
      println(c);
   }  
	
   static void main(String[] args) {
      sum(10,5);
   } 
}

この例では、2つのパラメーターを使用してsumメソッドを作成しています。 a そして b。両方のパラメータはタイプですint。次に、mainメソッドからsumメソッドを呼び出し、値を変数に渡します。a そして b

上記のメソッドの出力は値15になります。

デフォルトパラメータ

Groovyには、メソッド内のパラメーターのデフォルト値を指定するための規定もあります。パラメータのメソッドに値が渡されない場合は、デフォルトの値が使用されます。デフォルト以外のパラメータとデフォルトのパラメータの両方を使用する場合は、デフォルトのパラメータをパラメータリストの最後に定義する必要があることに注意する必要があります。

以下は、パラメータを使用した簡単な方法の例です。

def someMethod(parameter1, parameter2 = 0, parameter3 = 0) { 
   // Method code goes here 
}

2つの数値を追加するために前に見たのと同じ例を見て、1つのデフォルトパラメータと別のデフォルト以外のパラメータを持つメソッドを作成しましょう-

class Example { 
   static void sum(int a,int b = 5) { 
      int c = a+b; 
      println(c); 
   } 
	
   static void main(String[] args) {
      sum(6); 
   } 
}

この例では、2つのパラメーターを使用してsumメソッドを作成しています。 a そして b。両方のパラメーターはint型です。この例と前の例の違いは、この場合、のデフォルト値を指定していることです。b したがって、mainメソッドからsumメソッドを呼び出す場合、6である1つの値を渡すだけのオプションがあり、これがパラメーターに割り当てられます。 a 以内 sum 方法。

上記のメソッドの出力は値11になります。

class Example {
   static void sum(int a,int b = 5) {
      int c = a+b;
      println(c);
   } 
	
   static void main(String[] args) {
      sum(6,6);
   } 
}

2つの値を渡すことでsumメソッドを呼び出すこともできます。上記の例では、6の2つの値を渡します。2番目の値6は、実際にはパラメーターに割り当てられたデフォルト値を置き換えます。 b

上記のメソッドの出力は値12になります。

メソッドの戻り値

メソッドは、呼び出し元のプログラムに値を返すこともできます。これは、メソッドが何らかの計算を実行してから、呼び出し元のメソッドに目的の値を返す現代のプログラミング言語で必要です。

以下は、戻り値を持つ単純なメソッドの例です。

class Example {
   static int sum(int a,int b = 5) {
      int c = a+b;
      return c;
   } 
	
   static void main(String[] args) {
      println(sum(6));
   } 
}

上記の例では、今回はint型のメソッドsumの戻り値の型を指定していることに注意してください。このメソッドでは、returnステートメントを使用して、呼び出し元のメインプログラムに合計値を送信しています。メソッドの値がmainメソッドで使用できるようになったため、println コンソールに値を表示する関数。

上記のメソッドの出力は値11になります。

インスタンスメソッド

メソッドは通常、Java言語と同じように、Groovy内のクラス内に実装されます。クラスは、そのプロパティと動作を定義するさまざまなオブジェクトを作成するための青写真またはテンプレートに他なりません。クラスオブジェクトは、そのクラスによって定義されたプロパティと動作を示します。したがって、動作はクラス内にメソッドを作成することによって定義されます。

クラスについては後の章で詳しく説明しますが、以下はクラスでのメソッド実装の例です。前の例では、メソッドを静的メソッドとして定義しました。これは、クラスから直接これらのメソッドにアクセスできることを意味します。メソッドの次の例は、クラスのオブジェクトを作成することによってメソッドにアクセスするインスタンスメソッドです。繰り返しになりますが、後の章でクラスを確認します。今のところ、メソッドの使用方法を示します。

以下は、メソッドの実装方法の例です。

class Example { 
   int x; 
	
   public int getX() { 
      return x; 
   } 
	
   public void setX(int pX) { 
      x = pX; 
   } 
	
   static void main(String[] args) { 
      Example ex = new Example(); 
      ex.setX(100); 
      println(ex.getX()); 
   } 
}

上記の例では、今回はクラスメソッドに静的属性を指定していないことに注意してください。メイン関数では、実際にExampleクラスのインスタンスを作成してから、「ex」オブジェクトのメソッドを呼び出しています。

上記のメソッドの出力は値100になります。

ローカルおよび外部パラメータ名

Groovyは、Javaと同じように、ローカルパラメーターとグローバルパラメーターを持つ機能を提供します。次の例では、lx の関数内でのみスコープを持つローカルパラメータです getX() そして xExampleクラス全体の内部でアクセスできるグローバルプロパティです。変数にアクセスしようとするとlx の外 getX() 関数、エラーが発生します。

class Example { 
   static int x = 100; 
	
   public static int getX() { 
      int lx = 200; 
      println(lx); 
      return x; 
   } 
	
   static void main(String[] args) { 
      println(getX()); 
   }  
}

上記のプログラムを実行すると、次の結果が得られます。

200 
100

プロパティのこのメソッド

Javaの場合と同様に、groovyはを使用してインスタンスメンバーにアクセスできます。 thisキーワード。次の例は、ステートメントを使用する場合の方法を示していますthis.x、インスタンスを参照し、の値を設定します x それに応じて。

class Example { 
   int x = 100; 
	
   public int getX() { 
      this.x = 200; 
      return x; 
   } 
	
   static void main(String[] args) {
      Example ex = new Example(); 
      println(ex.getX());
   }
}

上記のプログラムを実行すると、コンソールに200の結果が出力されます。