Warisan C# dan Polimorfisme dengan Contoh Program

Apa itu Warisan di C#?

Warisan adalah konsep penting dari C#. Warisan adalah konsep di mana Anda mendefinisikan kelas induk dan kelas anak. Kelas anak mewarisi metode dan properti kelas induk, namun pada saat yang sama, mereka juga dapat mengubah perilaku metode jika diperlukan. Kelas anak juga dapat mendefinisikan metodenya sendiri jika diperlukan.

Mari kita lebih memahami Warisan C# melalui Contoh Program:

Contoh Warisan C#

Sekarang mari kita lihat bagaimana kita dapat memasukkan konsep pewarisan ke dalam kode kita.

Langkah 1) Langkah pertama adalah mengubah kode untuk kelas Tutorial kita. Pada langkah ini, kami menambahkan kode di bawah ini ke file Tutorial.cs.

Contoh Warisan C#

Perhatikan bahwa sekarang kita perlu menambahkan pengubah akses 'dilindungi' ke bidang TutorialID dan NamaTutorial.

Ingat kami telah menyebutkan pengubah akses ini dalam tutorial Pengubah Akses. Nah di sini Anda dapat melihat tujuan dari memiliki ini. Hanya ketika Anda memiliki pengubah akses ini (dilindungi), kelas anak dapat menggunakan bidang kelas induk.

Langkah 2) Langkah kedua adalah menambahkan kelas anak baru kita. Nama kelas ini adalah “Guru99Tutorial”. Pada langkah ini, kami menambahkan kode di bawah ini ke file Tutorial.cs. Kode harus ditempatkan setelah definisi kelas Tutorial.

Contoh Warisan C#

Penjelasan Kode: -

  1. Langkah pertama adalah membuat kelas anak Guru99Tutorial. Kita juga perlu menyebutkan bahwa kelas ini akan menjadi kelas anak dari kelas Tutorial. Hal ini dilakukan dengan kata kunci ':'.
  2. Selanjutnya, kita mendefinisikan metode yang disebut RenameTutorial. Ini akan digunakan untuk mengganti nama bidang TutorialName. Metode ini menerima variabel string yang berisi nama baru Tutorial.
  3. Kami kemudian menetapkan parameter pNewName ke bidang TutorialName.
    Note: – Meskipun kita belum mendefinisikan field TutorialName di kelas “Guru99Tutorial”, kita masih dapat mengakses field ini. Hal ini karena “Guru99Tutorial” adalah kelas anak dari kelas Tutorial. Dan karena kami menjadikan bidang kelas Tutorial sebagai dilindungi, maka bidang tersebut dapat diakses oleh kelas ini.

Langkah 3) Langkah terakhir adalah memodifikasi file utama Program.cs kita. Di aplikasi konsol kita, kita akan membuat objek kelas Guru99Tutorial. Dengan objek ini, kita akan memanggil metode RenameTutorial. Kami kemudian akan menampilkan kolom TutorialName dengan bantuan metode GetTutorial.

Contoh Warisan C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 public class Tutorial
 {
  protected int TutorialID; 
  protected string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  
  public String GetTutorial()
  {
   return TutorialName;
  }
 }
  public class Guru99Tutorial:Tutorial
  {
   public void RenameTutorial(String pNewName)
   {
    TutorialName=pNewName;
   }
  
  static void Main(string[] args) 
  {
   Guru99Tutorial pTutor=new Guru99Tutorial();
   
   pTutor.RenameTutorial(".Net by Guru99");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Penjelasan Kode: -

  1. Langkah pertama adalah membuat objek untuk kelas Guru99Tutorial. Hal ini dilakukan melalui kata kunci 'baru'. Perhatikan bahwa kali ini kita tidak membuat objek kelas Tutorial.
  2. Kami menggunakan metode RenameTutorial dari kelas Guru99Tutorial untuk mengubah bidang TutorialName. Kami meneruskan string “.Net oleh Guru99” ke metode RenameTutorial.
  3. Kami kemudian memanggil metode GetTutorial. Perhatikan bahwa meskipun metode ini tidak ditentukan di kelas Guru99Tutorial, kami masih dapat mengakses metode ini. Output dari metode GetTutorial kemudian ditampilkan ke konsol melalui metode Console.WriteLine.

Jika kode di atas dimasukkan dengan benar dan program berhasil dijalankan, output berikut akan ditampilkan.

Keluaran:

Contoh Warisan C#

Dari outputnya, kita dapat melihat dengan jelas bahwa kolom TutorialName diubah namanya menjadi “.Net oleh Guru99”. Hal ini dimungkinkan oleh metode RenameTutorial yang dipanggil oleh kelas anak.

Apa itu Polimorfisme di C#?

Polimorfisme dalam C# merupakan konsep OOPs di mana satu nama dapat memiliki banyak bentuk. Misalnya, Anda memiliki telepon pintar untuk komunikasi. Mode komunikasi yang Anda pilih dapat berupa apa saja. Bisa berupa panggilan telepon, pesan teks, pesan gambar, surat, dll. Jadi, tujuannya sama, yaitu komunikasi, tetapi pendekatan mereka berbeda. Ini disebut Polimorfisme.

Anda akan mendapatkan pemahaman yang lebih baik tentang Polimorfisme C# dengan Contoh Program di bawah ini:

Contoh Polimorfisme C#

Sekarang mari kita lihat, bagaimana kita dapat memasukkan konsep Polimorfisme ke dalam kode kita.

Langkah 1) Langkah pertama adalah mengubah kode untuk kelas Tutorial kita. Pada langkah ini, kami menambahkan kode di bawah ini ke file Tutorial.cs.

Contoh Polimorfisme C#

Penjelasan Kode: -

1 & 2) Langkah pertama sama seperti pada contoh sebelumnya. Kami mempertahankan definisi metode SetTutorial sebagaimana adanya.

3) Metode ini menetapkan TutorialID dan TutorialName berdasarkan parameter pID dan pName.

4) Di sinilah kita membuat perubahan pada kelas kita dimana kita menambahkan metode baru dengan nama yang sama SetTutorial. Hanya saja kali ini kita hanya melewatkan satu parameter yaitu pName. Dalam metode ini, kami hanya mengatur bidang TutorialName ke pName.

Langkah 2) Langkah terakhir adalah memodifikasi file utama Program.cs kita. Di aplikasi konsol kita, kita akan membuat objek kelas Guru99Tutorial.

Contoh Polimorfisme C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  public int TutorialID; 
  public string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public void SetTutorial(string pName) 
  {
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
   
   pTutor.SetTutorial(1,"First Tutorial");
   Console.WriteLine(pTutor.GetTutorial());
   
   pTutor.SetTutorial("Second Tutorial");
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Penjelasan Kode: -

  1. Pada langkah pertama kita menggunakan metode SetTutorial dengan 2 parameter. Dimana kita meneruskan TutorialID dan TutorialName ke metode ini.
  2. Pada langkah kedua, sekarang kita memanggil metode SetTutorial hanya dengan satu parameter. Kami baru saja meneruskan NamaTutorial ke metode ini.

Jika kode di atas dimasukkan dengan benar dan program dijalankan, output berikut akan ditampilkan. Jika Anda ingin mengambil ID Tutorial beserta Nama Tutorial, Anda harus mengikuti langkah-langkah di bawah ini

  1. Buat metode terpisah yang disebut public int GetTutorialID
  2. Dalam metode itu tulis baris kode “return TutorialID.” Ini dapat digunakan untuk mengembalikan TutorialID ke program pemanggil.

Keluaran:

Contoh Polimorfisme C#

Dari outputnya, kita dapat melihat dengan jelas bahwa kedua metode tersebut berhasil dipanggil. Karena itu, string “Tutorial Pertama” dan “Tutorial Kedua” dikirim ke konsol.

Kesimpulan

  • Warisan adalah tempat kelas anak mewarisi bidang dan metode kelas induk. Kelas anak kemudian juga dapat menentukan metodenya sendiri.
  • Polimorfisme di C# adalah konsep OOPs dimana satu nama bisa mempunyai banyak bentuk.