Perbedaan antara Metode Virtual dan Abstrak

Perbedaan Utama: Metode abstrak adalah metode yang dideklarasikan tetapi tidak memiliki implementasi. Metode virtual digunakan untuk implementasi polimorfisme berbasis tipe. Kelas turunan memiliki fleksibilitas untuk mengimplementasikan kembali metode virtual kelas dasar dengan menggunakan kata kunci 'override'.

Dalam C #, kata kunci abstrak dapat digunakan dengan kelas dan metode. Metode abstrak adalah metode yang tidak memiliki bentuk implementasi apa pun. Namun, logika implementasi diperoleh oleh kelas non-abstrak yang berasal dari mereka. Ini dicapai dengan mengganti metode itu. Karena tidak adanya implementasi aktual, tubuh metode tetap kosong. Penting untuk dicatat bahwa deklarasi metode abstrak hanya mungkin dalam kelas abstrak. Kelas yang tidak dapat diinisialisasi dikenal sebagai kelas abstrak. Kelas yang mewarisi dari kelas abstrak harus mengimplementasikan semua metode yang dinyatakan sebagai abstrak di kelas abstrak.

Sebagai contoh -

public class abstrak exampleAbstractClass

{

public void exampleabstractMethod ();

public void nonAbstractMethod ()

{

Console.WriteLine ("Implementasi didefinisikan dalam metode");

}

kelas normalNonAbstractClass: exampleAbstractClass

{

public override void exampleabstractMethod ()

{

Console.WriteLine ("Mengganti exampleabstractMethod dari class exampleAbstractClass");

}

}

Virtual juga merupakan kata kunci yang terkait dengan modifikasi metode, properti, pengindeks atau deklarasi acara. Penggunaan kata kunci ini memungkinkan modifikasi entitas yang dinyatakan dalam kelas turunan. Dalam contoh ini, kelas turunan telah menimpa metode virtual yang dideklarasikan di kelas dasar.

Basis kelas

{

Uji virtual void publik ()

{

Console.WriteLine ("Base.Test");

}

}

class Berasal: Base

{

public override void Test ()

{

Console.WriteLine ("Derived.Test");

}

}

Metode virtual digunakan untuk implementasi polimorfisme berbasis tipe. Kelas turunan memiliki fleksibilitas untuk menerapkan kembali metode virtual kelas dasar dengan menggunakan kata kunci override. Baik virtual dan abstrak tidak dapat digunakan bersama dengan pengubah statis atau virtual atau menimpa.

Perbandingan antara Metode Virtual dan Abstrak:

Metode Virtual

Metode Abstrak

Definisi

Metode virtual digunakan untuk implementasi polimorfisme berbasis tipe.

Metode abstrak adalah metode yang dideklarasikan tetapi tidak memiliki implementasi.

Pelaksanaan

Ya, bisa ada implementasinya

Tidak, tidak dapat memiliki implementasi apa pun

Perlu diganti

Tidak wajib

Wajib

Kata kunci yang digunakan untuk membedakannya dari jenis metode lain

Virtual

Abstrak

Kelas

Kelas yang berisi metode virtual dapat digunakan.

Kelas yang berisi metode abstrak tidak bisa dipakai. Itu hanya bisa diwariskan.

Cakupan

Ruang lingkup metode virtual hanya untuk anggota.

Ruang lingkup metode abstrak untuk anggota dan kelas.

Metode yang akan dieksekusi (tipe kelas objek-basis)

Implementasi induk akan dipanggil hanya dalam kasus di mana tidak ada implementasi disediakan di kelas konkret.

Implementasi konkret

Metode yang akan dieksekusi (tipe kelas objek-beton)

Implementasi konkret

Implementasi konkret

Direkomendasikan

Artikel Yang Berhubungan

  • perbedaan antara: Perbedaan antara Sony Xperia P dan Nokia Lumia 720

    Perbedaan antara Sony Xperia P dan Nokia Lumia 720

    Perbedaan utama: Sony Xperia P memiliki layar sentuh TFT 4 inci yang memungkinkan hingga 4 sentuhan. Layarnya anti gores dan memiliki lapisan anti pecah. Layar sentuh memberikan kepadatan sekitar 275 ppi piksel bersama dengan teknologi WhiteMagic, yang menambahkan piksel putih ekstra dengan warna merah, biru, dan hijau yang sudah ada
  • perbedaan antara: Perbedaan antara Riset Pasar dan Riset Pemasaran

    Perbedaan antara Riset Pasar dan Riset Pemasaran

    Perbedaan Utama: Riset pasar adalah bagian dari riset pemasaran. Riset Pemasaran memiliki cakupan yang jauh lebih besar karena berkaitan dengan melakukan penelitian tentang produk, serta preferensi konsumen; sedangkan, riset pasar hanya berkaitan dengan mengumpulkan informasi tentang pasar. Riset Pasar dan Pemasaran Penelitian sering digunakan secara bergantian, dan dalam beberapa konteks, terutama untuk orang di luar industri
  • perbedaan antara: Perbedaan antara Ateisme dan Teisme

    Perbedaan antara Ateisme dan Teisme

    Perbedaan utama: Ateisme dan Teisme keduanya berhubungan dengan agama dan keberadaan Tuhan. Perbedaan utama antara Atheisme dan Teisme adalah kenyataan bahwa teisme adalah kepercayaan akan keberadaan Tuhan, sedangkan Atheisme adalah keyakinan pada tidak adanya Tuhan. Agama dan kepercayaan adalah masalah pribadi, dikatakan bahwa apa yang seseorang yakini adalah antara dia dan Tuhannya
  • perbedaan antara: Perbedaan antara Lenovo IdeaPad Yoga 11 dan iPad

    Perbedaan antara Lenovo IdeaPad Yoga 11 dan iPad

    Perbedaan utama: Aspek unik Lenovo IdeaPad Yoga 11 adalah bahwa ia adalah laptop yang dapat dikonversi dengan multi-mode 360 ​​deg Flip design. Ini memungkinkan perangkat untuk mengambil empat mode desain. Ini termasuk Mode Laptop, Mode Tablet, Mode Tenda dan akhirnya, Mode Stand. Lenovo IdeaPad Yoga 11 memiliki fitur layar definisi tinggi 11, 6 inci dan berat 1, 27 kg (2, 8 lbs). In
  • perbedaan antara: Perbedaan antara Samsung Galaxy S6 Edge dan S6 Edge Plus

    Perbedaan antara Samsung Galaxy S6 Edge dan S6 Edge Plus

    Perbedaan Utama: Samsung Galaxy S6 Edge Plus memiliki banyak fitur yang sama dengan Edge asli, tetapi menawarkan layar yang lebih besar, cobalah 5, 7 inci yang sangat besar dibandingkan dengan 5.1 yang ditawarkan di Edge. Dalam upaya untuk menonjol dari ponsel sebelumnya dan membuat tanda di segmen smartphone kelas atas, Samsung memperkenalkan Galaxy S6 Edge pada April 2015
  • perbedaan antara: Perbedaan antara Baterai Alkaline dan Lithium

    Perbedaan antara Baterai Alkaline dan Lithium

    Perbedaan utama: Baterai alkaline tergantung pada reaksi antara seng dan mangan dioksida, sedangkan baterai lithium menggunakan logam lithium atau senyawa lithium sebagai anoda. Baterai adalah kebutuhan pokok rumah. Setiap rumah tangga memiliki perangkat kecil atau portabel yang membutuhkan baterai. Ini mungkin termasuk jam alarm, pengontrol jarak jauh, mainan, lampu senter, kamera digital, dll
  • perbedaan antara: Perbedaan antara Samsung Galaxy S5 dan S4

    Perbedaan antara Samsung Galaxy S5 dan S4

    Perbedaan Utama: Samsung Galaxy S5 adalah smartphone terbaru dari Samsung. S5 tahan debu dan air, dan memiliki pemindai sidik jari selain monitor detak jantung di bagian belakang yang berpasangan dengan S Health App yang diperbarui. S5 juga telah ditingkatkan ke USB 3.0 yang memungkinkan transfer data lebih cepat
  • perbedaan antara: Perbedaan antara Mal dan Outlet

    Perbedaan antara Mal dan Outlet

    Perbedaan utama: Mal atau mal adalah ruang tertutup besar yang sering ditandai dengan banyak toko yang menjual barang dagangan kepada publik. Mal bisa berukuran sedang hingga besar, tergantung pada konstruksi dan jumlah toko yang ingin dipegang. Outlet store adalah toko kecil yang menjual barang dagangan langsung ke publik dari perusahaan
  • perbedaan antara: Perbedaan antara Gel Rambut dan Pasta Rambut

    Perbedaan antara Gel Rambut dan Pasta Rambut

    Perbedaan utama: Ada banyak produk yang tersedia di pasaran untuk gaya rambut, termasuk tetapi tidak terbatas pada gel rambut dan pasta rambut. Gel rambut adalah formula berbasis gel yang dapat digunakan untuk menata rambut. Gel rambut terutama berbasis alkohol; Namun, beberapa gel berbasis air juga tersedia

Pilihan Editor

Perbedaan antara Uap Air dan Uap

Perbedaan utama: Uap air adalah ketika molekul air ada di udara, sedangkan uap adalah air yang dipanaskan hingga berubah menjadi gas. Dalam ilmu yang disederhanakan, keduanya disebut sebagai kondisi gas dalam air. Uap biasanya berwarna putih atau tembus cahaya, sedangkan uap air bisa jernih atau tembus cahaya