Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Kelas Abstrak C#: Tutorial Praktis dengan Contoh Kode

Apa Itu Kelas Abstrak dalam C#?

Sebuah kelas abstrak berfungsi sebagai cetak biru untuk kelas lain. Ia tidak dapat diinstantiate secara langsung dan ditandai dengan kata kunci abstract. Kelas abstrak biasanya berisi satu atau lebih metode abstract atau virtual yang diharapkan kelas turunan untuk mengimplementasikan atau mengganti. Mereka menyediakan perjanjian umum sambil memungkinkan kelas konkret untuk menyediakan perilaku spesifik.

Pertimbangkan contoh berikut. Kita pertama kali mendefinisikan kelas generik Animal tanpa mengetahui apakah hewan itu akan menjadi anjing, kucing, atau apa pun. Metode Description adalah tempat penampung yang akan disesuaikan oleh kelas turunan.

Kelas Abstrak C#: Tutorial Praktis dengan Contoh Kode

Saat tipe hewan spesifik diketahui, kita membuat subclass seperti Dog yang mewarisi dari Animal. Kelas Dog tidak dapat mengubah metode Description dasar; alih-alih, ia menyediakan implementasinya sendiri atau menambahkan metode baru seperti DogDescription. Ini menunjukkan konsep inti kelas abstrak C#: perjanjian dasar dengan subclass konkret yang mengisi detailnya.

Kelas Abstrak C#: Tutorial Praktis dengan Contoh Kode

Membuat Kelas Abstrak dalam C#

Di bawah ini adalah panduan langkah demi langkah untuk mendefinisikan kelas abstrak dan subclass konkret yang menggunakannya. Meskipun kita tidak akan mengeksekusi cuplikan ini dalam editor online, kode menunjukkan praktik terbaik untuk desain kelas abstrak.

Langkah 1: Definisikan Kelas Abstrak

Kita membuat kelas abstrak bernama Tutorial yang berisi satu metode virtual. Kata kunci virtual menunjukkan bahwa metode tidak dapat diganti oleh kelas turunan.

Kelas Abstrak C#: Tutorial Praktis dengan Contoh Kode

Penjelasan Kode

  1. Kami mendeklarasikan kelas dengan kata kunci abstract untuk mencegah instantiasi langsung.
  2. Di dalam kelas, metode Set didefinisikan sebagai public virtual void Set() sehingga subclass mewarisinya tanpa perubahan.

Langkah 2: Buat Kelas Turunan

Dalam file yang sama, kami mendefinisikan kelas konkret Guru99Tutorial yang mewarisi dari Tutorial. Subclass memperkenalkan properti dan metode sendiri sambil menghormati perjanjian yang ditetapkan oleh kelas dasar abstrak.

Kelas Abstrak C#: Tutorial Praktis dengan Contoh Kode

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() { // Implementasi dasar (saat ini kosong) } } 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(); } } } 

Poin kunci adalah bahwa Guru99Tutorial tidak dapat mendeklarasikan ulang metode Set yang didefinisikan di Tutorial; ia harus menggunakan versi yang diwarisi apa adanya.

Ringkasan

Kelas abstrak dalam C# memberikan dasar yang kuat untuk membangun sistem yang dapat diperluas. Dengan mendeklarasikan perilaku umum dalam kelas dasar yang tidak dapat diinstantiate, pengembang memberlakukan perjanjian sambil memungkinkan subclass untuk menyediakan implementasi konkret. Pola ini mempromosikan penggunaan kembali kode, kejelasan, dan ketipingan tipe di seluruh basis kode besar.

Bahasa C

  1. Menguasai Kelas dan Metode Abstrak C#: Panduan Praktis
  2. Operator C++ Dijelaskan: Tipe, Contoh, dan Program Contoh
  3. Struct C++ Dijelaskan dengan Contoh Praktis
  4. Menguasai std::list dalam C++: Sintaks, Fungsi & Contoh Praktis
  5. Struktur vs Kelas C++: Perbedaan Utama, Sintaks, dan Kasus Penggunaan Terbaik
  6. Kelas Abstrak C#: Tutorial Praktis dengan Contoh Kode
  7. Antarmuka vs Kelas Abstrakt di Java: Cara Memilih Abstraksi yang Tepat
  8. Abstraksi Java Dijelaskan: Sederhanakan Kode & Tingkatkan Keterbacaan
  9. Menguasai Abstraksi Data C++: Sederhanakan Desain dengan Pemisahan Antarmuka-Implementasi
  10. Antarmuka C++: Menguasai Kelas Abstrakt & Fungsi Virtual Murni