Tutorial Kelas Abstrak C# dengan Contoh: Apa itu Abstraksi?

Apa itu Kelas Abstrak di C#?

Kelas Abstrak tidak pernah dapat dipakai dan ditandai dengan kata kunci abstrak. Kelas abstrak berisi nol atau lebih metode abstrak di dalamnya. Kelas abstrak bertindak sebagai kelas dasar dan dirancang untuk diwarisi oleh subkelas yang mengimplementasikan atau mengganti metodenya.

Mari belajar kelas abstrak dalam C# dengan contoh di bawah ini. Di bawah ini adalah definisi kelas yang disebut 'Hewan.' Ketika kelas 'Hewan' didefinisikan, tidak ada yang diketahui tentang hewan tersebut, apakah itu anjing atau kucing. Metode yang disebut deskripsi hanyalah metode umum yang ditentukan untuk kelas.

Kelas Abstrak di C#

Sekarang ketika sudah diketahui apa sebenarnya yang akan menjadi Hewan, kita membuat kelas lain yang mewarisi kelas dasar. Jika kita mengetahui bahwa hewan tersebut sebenarnya adalah Anjing, kita membuat kelas Anjing yang mewarisi kelas dasar utama. Perbedaan utama di sini adalah bahwa kelas Dog tidak dapat mengubah definisi Descriptmetode ion dari kelas Hewan. Ia harus mendefinisikan metode abstrak C#-nya sendiri yang disebut Dog-Description. Ini adalah konsep dasar kelas abstrak C#.

Kelas Abstrak di C#

Buat Kelas Abstrak di C#

Mari kita lihat kelas abstrak di C# dengan contoh real-time tentang bagaimana kita dapat mengubah kode kita untuk menyertakan kelas abstrak C#. Perhatikan bahwa kita tidak akan menjalankan kodenya, karena tidak ada yang bisa dijalankan menggunakan kelas abstraksi C#.

Langkah 1) Sebagai langkah pertama, mari membuat kelas abstrak. Kelas tersebut akan disebut Tutorial dan hanya memiliki satu metode. Semua kode perlu ditulis dalam file Program.cs.

Buat Kelas Abstrak di C#

Penjelasan Kode: -

  1. Pertama-tama kita mendefinisikan kelas abstrak. Perhatikan penggunaan kata kunci abstrak. Ini digunakan untuk menyatakan bahwa kelas tersebut adalah kelas abstrak.
  2. Selanjutnya, kami mendefinisikan metode kami yang tidak melakukan apa pun. Metode harus memiliki kata kunci yang disebut virtual. Artinya metode tersebut tidak dapat diubah oleh kelas anak. Ini adalah persyaratan dasar untuk setiap kelas abstrak.

Langkah 2) Sekarang mari tambahkan kelas anak kita. Kode ini ditambahkan ke file Program.cs.

Buat Kelas Abstrak di C#

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

Tidak ada yang luar biasa tentang kode ini. Kita hanya mendefinisikan sebuah kelas bernama 'Guru99Tutorial' yang mewarisi kelas Tutorial abstrak. Kami kemudian mendefinisikan metode yang sama seperti yang telah kami gunakan sebelumnya.

Catatan:
Di sini kita tidak dapat mengubah definisi metode Set yang didefinisikan di kelas Tutorial. Di kelas Tutorial, kami telah mendefinisikan metode yang disebut 'Set' (public virtual void Set()). Karena metode ini merupakan bagian dari kelas abstrak C#, kita tidak diperbolehkan mendefinisikan metode Set lagi di kelas Guru99Tutorial.

Kesimpulan

Kelas abstrak di C tajam adalah cetak biru untuk kelas-kelas lain, ditandai dengan abstract Kata kunci. Kata kunci ini tidak dapat diwujudkan secara langsung dan dapat mencakup metode abstrak yang harus diimplementasikan oleh kelas turunan. Kelas abstrak memberlakukan struktur yang konsisten di seluruh subkelas sekaligus memungkinkan fungsionalitas tertentu. Konsep ini umumnya digunakan untuk menentukan perilaku dasar dan memastikan fleksibilitas kode melalui pewarisan.