C # - Metode

Metode adalah sekelompok pernyataan yang bersama-sama melakukan tugas. Setiap program C # memiliki setidaknya satu kelas dengan metode bernama Main.

Untuk menggunakan suatu metode, Anda perlu -

  • Tentukan metodenya
  • Panggil metode tersebut

Mendefinisikan Metode di C #

Saat Anda mendefinisikan metode, pada dasarnya Anda mendeklarasikan elemen-elemen strukturnya. Sintaks untuk mendefinisikan metode di C # adalah sebagai berikut -

<Access Specifier> <Return Type> <Method Name>(Parameter List) {
   Method Body
}

Berikut adalah berbagai elemen metode -

  • Access Specifier - Ini menentukan visibilitas variabel atau metode dari kelas lain.

  • Return type- Metode dapat mengembalikan nilai. Tipe pengembalian adalah tipe data dari nilai yang dikembalikan metode. Jika metode tidak mengembalikan nilai apa pun, maka jenis kembaliannya adalahvoid.

  • Method name- Nama metode adalah pengenal unik dan peka huruf besar / kecil. Itu tidak bisa sama dengan pengenal lain yang dideklarasikan di kelas.

  • Parameter list- Diapit di antara tanda kurung, parameter digunakan untuk melewatkan dan menerima data dari suatu metode. Daftar parameter mengacu pada jenis, urutan, dan jumlah parameter metode. Parameter bersifat opsional; artinya, suatu metode mungkin tidak berisi parameter.

  • Method body - Ini berisi sekumpulan instruksi yang diperlukan untuk menyelesaikan aktivitas yang diperlukan.

Contoh

Cuplikan kode berikut menunjukkan fungsi FindMax yang mengambil dua nilai integer dan mengembalikan yang lebih besar dari keduanya. Ini memiliki penentu akses publik, sehingga dapat diakses dari luar kelas menggunakan instance kelas.

class NumberManipulator {

   public int FindMax(int num1, int num2) {
      /* local variable declaration */
      int result;

      if (num1 > num2)
         result = num1;
      else
         result = num2;

      return result;
   }
   ...
}

Metode Panggilan di C #

Anda dapat memanggil metode menggunakan nama metode tersebut. Contoh berikut menggambarkan hal ini -

using System;

namespace CalculatorApplication {
   class NumberManipulator {
      public int FindMax(int num1, int num2) {
         /* local variable declaration */
         int result;
         
         if (num1 > num2)
            result = num1;
         else
            result = num2;
         return result;
      }
      
      static void Main(string[] args) {
         /* local variable definition */
         int a = 100;
         int b = 200;
         int ret;
         NumberManipulator n = new NumberManipulator();

         //calling the FindMax method
         ret = n.FindMax(a, b);
         Console.WriteLine("Max value is : {0}", ret );
         Console.ReadLine();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Max value is : 200

Anda juga dapat memanggil metode publik dari kelas lain dengan menggunakan instance kelas. Misalnya, metode FindMax milik kelas NumberManipulator , Anda dapat memanggilnya dari Test kelas lain .

using System;

namespace CalculatorApplication {
   class NumberManipulator {
      public int FindMax(int num1, int num2) {
         /* local variable declaration */
         int result;
         
         if(num1 > num2)
            result = num1;
         else
            result = num2;
         
         return result;
      }
   }
   class Test {
      static void Main(string[] args) {
         /* local variable definition */
         int a = 100;
         int b = 200;
         int ret;
         NumberManipulator n = new NumberManipulator();
         
         //calling the FindMax method
         ret = n.FindMax(a, b);
         Console.WriteLine("Max value is : {0}", ret );
         Console.ReadLine();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Max value is : 200

Panggilan Metode Rekursif

Sebuah metode dapat memanggil dirinya sendiri. Ini dikenal sebagairecursion. Berikut adalah contoh yang menghitung faktorial untuk bilangan tertentu menggunakan fungsi rekursif -

using System;

namespace CalculatorApplication {
   class NumberManipulator {
      public int factorial(int num) {
         /* local variable declaration */
         int result;
         if (num == 1) {
            return 1;
         } else {
            result = factorial(num - 1) * num;
            return result;
         }
      }
      static void Main(string[] args) {
         NumberManipulator n = new NumberManipulator();
         //calling the factorial method {0}", n.factorial(6));
         Console.WriteLine("Factorial of 7 is : {0}", n.factorial(7));
         Console.WriteLine("Factorial of 8 is : {0}", n.factorial(8));
         Console.ReadLine();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Factorial of 6 is: 720
Factorial of 7 is: 5040
Factorial of 8 is: 40320

Meneruskan Parameter ke Metode

Ketika metode dengan parameter dipanggil, Anda harus meneruskan parameter ke metode. Ada tiga cara parameter dapat diteruskan ke metode -

Sr.No. Mekanisme & Deskripsi
1 Parameter nilai

Metode ini menyalin nilai sebenarnya dari sebuah argumen ke dalam parameter formal dari fungsi tersebut. Dalam kasus ini, perubahan yang dilakukan pada parameter di dalam fungsi tidak berpengaruh pada argumen.

2 Parameter referensi

Metode ini menyalin referensi ke lokasi memori dari sebuah argumen ke dalam parameter formal. Ini berarti bahwa perubahan yang dilakukan pada parameter mempengaruhi argumen.

3 Parameter keluaran

Metode ini membantu mengembalikan lebih dari satu nilai.