Groovy - Metode

Sebuah metode di Groovy didefinisikan dengan tipe kembali atau dengan defkata kunci. Metode dapat menerima sejumlah argumen. Jenis tidak perlu ditentukan secara eksplisit saat menentukan argumen. Pengubah seperti publik, pribadi dan dilindungi dapat ditambahkan. Secara default, jika tidak ada pengubah visibilitas yang disediakan, metode ini bersifat publik.

Jenis metode yang paling sederhana adalah metode tanpa parameter seperti yang ditunjukkan di bawah ini -

def methodName() { 
   //Method code 
}

Berikut adalah contoh metode sederhana

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();
   } 
}

Dalam contoh di atas, DisplayName adalah metode sederhana yang terdiri dari dua pernyataan println yang digunakan untuk mengeluarkan beberapa teks ke konsol. Dalam metode utama statis kami, kami hanya memanggil metode DisplayName. Output dari metode di atas adalah -

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

Parameter Metode

Suatu metode lebih umum berguna jika perilakunya ditentukan oleh nilai satu atau lebih parameter. Kita dapat mentransfer nilai ke metode yang dipanggil menggunakan parameter metode. Perhatikan bahwa nama parameter harus berbeda satu sama lain.

Jenis metode yang paling sederhana dengan parameter seperti yang ditunjukkan di bawah ini -

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

Berikut adalah contoh metode sederhana dengan parameter

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

Dalam contoh ini, kami membuat metode penjumlahan dengan 2 parameter, a dan b. Kedua parameter itu bertipeint. Kami kemudian memanggil metode sum dari metode utama kami dan meneruskan nilai ke variabela dan b.

Output dari metode di atas adalah nilai 15.

Parameter Default

Ada juga ketentuan di Groovy untuk menentukan nilai default untuk parameter dalam metode. Jika tidak ada nilai yang diteruskan ke metode untuk parameter, yang default akan digunakan. Jika kedua parameter nondefault dan default digunakan, maka harus dicatat bahwa parameter default harus ditentukan di akhir daftar parameter.

Berikut adalah contoh metode sederhana dengan parameter -

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

Mari kita lihat contoh yang sama yang kita lihat sebelumnya untuk penambahan dua angka dan buat metode yang memiliki satu parameter default dan parameter non-default lainnya -

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

Dalam contoh ini, kami membuat metode penjumlahan dengan dua parameter, a dan b. Kedua parameter tersebut bertipe int. Perbedaan antara contoh ini dan contoh sebelumnya adalah bahwa dalam kasus ini kami menetapkan nilai default untukb sebagai 5. Jadi ketika kita memanggil metode penjumlahan dari metode utama kita, kita memiliki pilihan untuk hanya melewatkan satu nilai yaitu 6 dan ini akan ditetapkan ke parameter a dalam sum metode.

Output dari metode di atas akan menjadi nilai 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);
   } 
}

Kita juga dapat memanggil metode penjumlahan dengan melewatkan 2 nilai, dalam contoh di atas kita mengirimkan 2 nilai 6. Nilai kedua dari 6 sebenarnya akan menggantikan nilai default yang ditetapkan ke parameter b.

Output dari metode di atas akan menjadi nilai 12.

Metode Pengembalian Nilai

Metode juga dapat mengembalikan nilai ke program pemanggil. Ini diperlukan dalam bahasa pemrograman modern di mana suatu metode melakukan semacam penghitungan dan kemudian mengembalikan nilai yang diinginkan ke metode pemanggilan.

Berikut adalah contoh metode sederhana dengan nilai kembali.

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

Dalam contoh kami di atas, perhatikan bahwa kali ini kami menetapkan tipe pengembalian untuk jumlah metode kami yang berjenis int. Dalam metode ini kami menggunakan pernyataan return untuk mengirim nilai jumlah ke program utama pemanggil. Karena nilai metode sekarang tersedia untuk metode utama, kami menggunakanprintln berfungsi untuk menampilkan nilai di konsol.

Output dari metode di atas akan menjadi nilai 11.

Metode instance

Metode biasanya diimplementasikan di dalam kelas dalam Groovy seperti bahasa Java. Kelas tidak lain adalah cetak biru atau templat untuk membuat objek berbeda yang mendefinisikan properti dan perilakunya. Objek kelas menunjukkan properti dan perilaku yang ditentukan oleh kelasnya. Jadi perilaku ditentukan dengan membuat metode di dalam kelas.

Kita akan melihat kelas secara lebih rinci di bab selanjutnya, tetapi Berikut adalah contoh implementasi metode di kelas. Dalam contoh sebelumnya, kami mendefinisikan metode kami sebagai metode statis yang berarti bahwa kami dapat mengakses metode tersebut langsung dari kelas. Contoh metode selanjutnya adalah metode instance di mana metode tersebut diakses dengan membuat objek kelas. Sekali lagi kita akan melihat kelas-kelas di bab selanjutnya, untuk saat ini kita akan mendemonstrasikan bagaimana menggunakan metode.

Berikut adalah contoh bagaimana metode dapat diimplementasikan.

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()); 
   } 
}

Dalam contoh di atas, perhatikan bahwa kali ini kami tidak menentukan atribut statis untuk metode kelas kami. Dalam fungsi utama kami, kami benar-benar membuat turunan dari kelas Contoh dan kemudian memanggil metode objek 'ex'.

Output dari metode di atas akan menjadi nilai 100.

Nama Parameter Lokal dan Eksternal

Groovy menyediakan fasilitas seperti java untuk memiliki parameter lokal dan global. Dalam contoh berikut,lx adalah parameter lokal yang hanya memiliki cakupan di dalam fungsi getX() dan xadalah properti global yang dapat diakses di dalam seluruh kelas Contoh. Jika kita mencoba mengakses variabellx di luar getX() fungsi, kami akan mendapatkan kesalahan.

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

Saat kita menjalankan program di atas, kita akan mendapatkan hasil sebagai berikut.

200 
100

metode ini untuk Properti

Sama seperti di Java, groovy dapat mengakses anggota instance-nya menggunakan thiskata kunci. Contoh berikut menunjukkan bagaimana kita menggunakan pernyataan tersebutthis.x, ini merujuk ke instance-nya dan menetapkan nilai x demikian.

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());
   }
}

Saat kita menjalankan program diatas, kita akan mendapatkan hasil 200 yang tercetak di konsol.