Abstraksi dalam pemrograman mengacu pada penyembunyian informasi yang tidak perlu, meskipun sangat penting, dan membuat hanya informasi kunci atau persyaratan tertentu yang dapat dilihat oleh pengguna. Ini dimungkinkan melalui penggunaan kelas abstrak.
Kelas abstrak di C# pada dasarnya adalah kelas yang tidak mengizinkan pembuatan objek. 'Abstrak' adalah kata kunci atau pengubah yang menyebabkan kelas atau metode tertentu menjadi abstrak atau dibatasi. Kelas abstrak hanya dapat diakses melalui pewarisan dari kelas yang berbeda.
Pengambilan Kunci
- Kelas abstrak adalah kelas yang tidak lengkap yang tidak dapat dibuat instance-nya tetapi berfungsi sebagai basis bagi orang lain untuk diwarisi.
- Mereka berisi setidaknya satu fungsi virtual murni, artinya tidak memiliki implementasi dan harus ditentukan oleh kelas turunan mana pun.
- Kelas abstrak dapat memiliki variabel anggota dan fungsi anggota dengan implementasi, tetapi tidak dapat diakses melalui objek kelas abstrak.
Properti dan Komponen kelas Abstrak di C#
Faktor-faktor tertentu harus ada agar kelas abstrak dapat dimulai atau diakses. Mereka telah terdaftar sebagai berikut.
- Kelas abstrak membuat kelas dasar yang biasanya diakses oleh beberapa kelas turunan. Pemrogram harus membuat kelas turunan untuk menggunakan atau mengimplementasikan kelas abstrak.
- Kelas abstrak dengan demikian, harus diwariskan oleh subkelas, yang bahkan dapat menggantikan fungsi.
- Setiap kelas abstrak membutuhkan setidaknya satu metode abstrak.
Contoh kelas abstrak di C#
Karena mekanismenya rumit dan hanya dapat dimengerti oleh mereka yang terbiasa dengan pemrograman bahasa, lebih baik memulai dengan contoh sederhana untuk membantu menjelaskan konsepnya.
Misalkan kelas 'Pohon' ada, dengan metode yang dirancang yang dikenal sebagai 'tipe'. Tidak ada lagi yang ditentukan, dan tidak ada informasi khusus lainnya yang diberikan – orang tidak mengetahui jenis pohon atau kemungkinan jenisnya.
Jika contoh spesifik pohon tersedia, maka kelas terpisah dibuat melalui pewarisan kelas dasar, Pohon. Idenya adalah kelas baru, katakanlah Pine atau ek, tidak dapat memodifikasi konstruk atau definisi dari kelas dasar, yaitu Pohon. Itu harus membuat kelasnya sendiri, berasal dari Pohon kelas, dan mendefinisikan metode lain yang diwarisi dari basis.
Keuntungan kelas abstrak di C#
- Sementara sub-kelas dapat memilih untuk mengimplementasikan atau mengesampingkan kelas abstrak, tertentu modifikasi dapat dibuat yang memerlukan fungsi tertentu untuk diimplementasikan.
- Oleh karena itu, ada tingkat fleksibilitas yang tinggi saat merancang kelas abstrak mengenai metode mana yang harus diterapkan secara imperatif.
- Pemrogram dapat memilih berapa banyak metode abstrak yang mereka inginkan dalam kelas abstrak. Dimungkinkan juga untuk menulis kode tanpa menyertakan metode abstrak.
- Kelas abstrak harus didefinisikan hanya sekali dan dapat diakses atau diturunkan sebanyak yang diperlukan.
- Kelas abstrak sangat berguna ketika ada sekumpulan kelas yang memiliki tingkat kesamaan tetapi berbeda dalam implementasinya terhadap kelas abstrak.
Kerugian dari kelas abstrak di C#
- Kelas abstrak hanya dapat ditambahkan ke hierarki kelas jika tidak ada kelas abstrak.
- Objek dari kelas abstrak apa pun hanya dapat direferensikan, tidak pernah dibuat.
- Meskipun kelas abstrak tidak dapat dipakai, itu tidak memungkinkan variabel atau metode statis.
- https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
- https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
Terakhir Diperbarui : 11 Juni 2023
Sandeep Bhandari meraih gelar Bachelor of Engineering in Computers dari Thapar University (2006). Beliau memiliki pengalaman selama 20 tahun di bidang teknologi. Dia memiliki minat dalam berbagai bidang teknis, termasuk sistem database, jaringan komputer, dan pemrograman. Anda dapat membaca lebih lanjut tentang dia di nya halaman bio.
Saya menemukan postingan ini sedikit ironis dalam penyajiannya. Namun penjelasannya cukup menarik.
Artikel ini memberikan penjelasan yang sangat informatif tentang abstraksi dalam pemrograman. Menurut saya ini sangat menarik.
Saya setuju, Cooper. Ini adalah artikel yang sangat informatif.
Contoh pohon untuk menjelaskan kelas abstrak sungguh jenius. Penulis melakukannya dengan sangat baik.
Ya, Helena. Contoh sempurna untuk mengilustrasikan konsep tersebut.
Saya sangat setuju dengan Anda, Helena.
Artikel tersebut dengan baik menguraikan kelebihan dan kekurangannya. Referensi komprehensif bagi siapa saja yang tertarik mempelajari kelas abstrak di C#.
Saya sepenuhnya setuju dengan Anda, Ograham. Ini adalah bagian yang informatif.
Kesimpulan yang bagus, Ograham. Sumber daya yang bagus untuk programmer.
Artikel ini tidak hanya menyoroti kelebihannya tetapi juga membahas kelemahan kelas abstrak di C#. Benar-benar analisis yang menyeluruh!
Tentu saja, Mjones. Ini adalah pandangan topik yang seimbang.
Nada lucu yang digunakan untuk menjelaskan topik memberikan perspektif yang menyegarkan. Kudos kepada penulisnya!
Saya sangat setuju dengan Anda, Dean89.
Tentu saja, Dekan89. Perpaduan yang luar biasa antara humor dan informasi.
Pendekatan argumentatif artikel ini sungguh patut diperhatikan. Ini menawarkan pandangan konsep yang seimbang.
Saya setuju, Yasmine. Analisis menyeluruh patut diapresiasi.
Saya menemukan fleksibilitas dalam mendesain kelas abstrak sangat menarik. Artikel ini menyajikan pro dan kontra dengan jelas dan dapat dimengerti.
Saya sepenuhnya setuju dengan Anda, Richards. Ini bacaan yang bagus.
Saya sangat menghargai rincian rinci properti dan komponen kelas Abstrak di C#. Artikel bagus!
Setuju, Fox. Ini informasi penting bagi siapa pun yang mempelajari C#.
Pikiranku persis, Sfox. Penjelasan yang sangat bagus.
Saya rasa keuntungan yang disebutkan di sini benar-benar menunjukkan kegunaan kelas abstrak. Wawasan luar biasa diberikan.
Tentu saja, Williams. Keuntungannya diartikulasikan dengan baik.