C # Kelas Abstrak Tutorial: Apa itu Abstraksi dengan Contoh

Isi kandungan:

Anonim

Apakah Kelas Abstrak di C #?

Kelas Abstrak tidak pernah dapat dijadikan contoh dan ditandai dengan kata kunci abstrak. Kelas abstrak mengandungi kaedah sifar atau lebih abstrak di dalamnya. Kelas abstrak bertindak sebagai kelas asas dan dirancang untuk diwarisi oleh subkelas yang sama ada melaksanakan atau mengatasi kaedahnya.

Mari belajar kelas abstrak di C # dengan contoh yang diberikan di bawah. Berikut adalah definisi kelas yang dipanggil 'Haiwan.' Apabila kelas 'Haiwan' ditakrifkan, tidak ada yang diketahui mengenai haiwan itu, sama ada anjing atau kucing. Kaedah yang disebut deskripsi hanyalah kaedah generik yang ditentukan untuk kelas.

Sekarang apabila diketahui apa sebenarnya haiwan itu, kita membuat kelas lain yang mewarisi kelas asas. Sekiranya kita mengetahui bahawa haiwan itu sebenarnya adalah Anjing, kita membuat kelas Anjing yang mewarisi kelas asas utama. Perbezaan utama di sini adalah bahawa kelas Anjing tidak dapat mengubah definisi kaedah Penerangan kelas Haiwan. Ia harus menentukan kaedah abstrak C #nya sendiri yang disebut Dog-Description. Ini adalah konsep asas kelas abstrak C #.

Mari lihat kelas abstrak di C # dengan contoh masa nyata mengenai bagaimana kita boleh mengubah kod kita untuk memasukkan kelas abstrak C #. Perhatikan bahawa kami tidak akan menjalankan kod, kerana tidak ada yang dapat dijalankan menggunakan kelas abstraksi C #.

Langkah 1) Sebagai langkah pertama, mari buat kelas abstrak. Kelas akan dipanggil Tutorial dan hanya akan mempunyai satu kaedah. Semua kod perlu ditulis dalam fail Program.cs.

Penjelasan Kod: -

  1. Kami pertama kali menentukan kelas abstrak. Perhatikan penggunaan kata kunci abstrak. Ini digunakan untuk menunjukkan bahawa kelas itu adalah kelas abstrak.
  2. Seterusnya, kami menentukan kaedah kami yang tidak menghasilkan apa-apa. Kaedah mesti mempunyai kata kunci yang disebut maya. Ini bermaksud bahawa kaedah itu tidak boleh diubah oleh kelas kanak-kanak. Ini adalah syarat asas bagi mana-mana kelas abstrak.

Langkah 2) Sekarang mari tambah kelas anak kita. Kod ini ditambahkan ke fail Program.cs.

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 mengenai kod ini. Kami hanya menentukan kelas yang dipanggil 'Guru99Tutorial' yang mewarisi kelas Tutorial abstrak. Kami kemudian menentukan kaedah yang sama seperti yang telah kami gunakan dari sebelumnya.

Catatan: Di sini kita tidak dapat mengubah definisi kaedah Set yang didefinisikan di kelas Tutorial. Di kelas Tutorial, kami telah menentukan kaedah yang disebut 'Set' (public void Set ()). Oleh kerana kaedah ini merupakan bahagian dari kelas abstrak C #, kami tidak dibenarkan mendefinisikan kaedah Set lagi di kelas Guru99Tutorial.

Ringkasan

  • Kelas abstrak dalam C tajam adalah kelas asas yang mempunyai syarat-syarat yang sangat asas seperti apa rupa kelas. Tidak mungkin kelas kanak-kanak mewarisi kaedah kelas asas.