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

  • perbandingan populer: Perbedaan antara Impuls dan Momentum

    Perbedaan antara Impuls dan Momentum

    Perbedaan Kunci: Impuls dapat digambarkan sebagai kuantitas yang menyatakan efek dari gaya total yang bekerja pada suatu objek. Momentum dideskripsikan sebagai kuantitas yang menyatakan resistensi objek terhadap berhenti. Impuls dan momentum berhubungan langsung satu sama lain. Impuls juga bisa digambarkan sebagai perubahan momentum
  • perbandingan populer: Perbedaan antara PS3 dan PS4

    Perbedaan antara PS3 dan PS4

    Perbedaan Utama: Playstation 3 (PS3) dan Playstation 4 (PS4) adalah nama-nama video rumahan dan konsol game yang diproduksi oleh perusahaan bernama Sony Computer Entertainment. PS3 adalah penerus PS2 dan PS4 adalah penerus PS3. PS3 saat ini tersedia di pasar, sedangkan PS4 akan memasuki pasar pada November 2013
  • perbandingan populer: Perbedaan antara Samsung Galaxy Tab 3 8.0 dan Samsung Galaxy Note 10.1

    Perbedaan antara Samsung Galaxy Tab 3 8.0 dan Samsung Galaxy Note 10.1

    Perbedaan Utama: Samsung telah menambahkan tablet lain ke jajaran yang terus berkembang. Tab 3 8-inci mengikuti Tab 3 7-inci yang diluncurkan sebelumnya pada tahun 2013. Tablet ini dilengkapi dengan layar sentuh kapasitif TFT 8 inci yang menawarkan kepadatan sekitar 189 ppi piksel. Perangkat ini hadir dalam tiga varian berbeda: Wi-Fi, 3G dan 4G
  • perbandingan populer: Perbedaan antara Imigran dan Pengungsi

    Perbedaan antara Imigran dan Pengungsi

    Perbedaan utama: Imigran dan Pengungsi adalah orang-orang yang memukimkan diri mereka sendiri ke daerah atau tempat baru. Imigran adalah orang-orang yang meninggalkan tanah air mereka secara permanen ke tempat baru, sementara para pengungsi adalah mereka yang adalah orang-orang yang hancur dan harus meninggalkan tempat mereka secara paksa
  • perbandingan populer: Perbedaan antara Galaxy dan Universe

    Perbedaan antara Galaxy dan Universe

    Perbedaan Utama: Sekelompok banyak bintang, debu, planet, dan benda antarbintang lainnya, yang diikat bersama oleh gaya gravitasi, dikenal sebagai Galaksi. Alam semesta terdiri dari segala sesuatu yang ada dalam bentuk materi atau energi. Sebuah partikel pasir terkecil terkecil juga merupakan bagian dari Semesta dan sama halnya Galaksi terbesar juga membentuk bagian dari Semesta
  • perbandingan populer: Perbedaan antara Fonetik, Fonetik dan Fonem

    Perbedaan antara Fonetik, Fonetik dan Fonem

    Perbedaan Kunci: Fonetik adalah metode di mana huruf dikaitkan dengan suara. Ini dianggap sebagai bagian yang sangat penting dari mengajar sebagai keterampilan membaca. Fonetik mengacu pada cabang linguistik dan berkaitan dengan studi ilmiah yang tepat tentang suara yang terkait dengan ucapan manusia
  • perbandingan populer: Perbedaan antara BE dan B.Sc.

    Perbedaan antara BE dan B.Sc.

    Perbedaan Utama: BE adalah singkatan dari Bachelor of Engineering. Ini adalah gelar sarjana yang diberikan setelah menyelesaikan program tiga hingga empat tahun dari program akademik teknik. Di sisi lain, B.Sc. singkatan dari Bachelor of Science. Ini adalah gelar akademik sarjana yang diberikan setelah menyelesaikan program akademik sains empat hingga lima tahun
  • perbandingan populer: Perbedaan antara terjun payung dan terjun payung

    Perbedaan antara terjun payung dan terjun payung

    Perbedaan utama: Terjun payung dan terjun payung adalah olahraga petualangan. Terjun payung adalah olahraga aksi di mana orang melompat turun dengan bantuan parasut ke arah lapangan, sedangkan Skydiving adalah olahraga di mana pemain skydiver setelah jatuh bebas melakukan akrobat dan akrobat di udara
  • perbandingan populer: Perbedaan antara Mac dan PC

    Perbedaan antara Mac dan PC

    Perbedaan Utama: Mac hanya dapat dijalankan di komputer yang dirancang dan dijual oleh Apple. Di sisi lain, PC pada umumnya adalah komputer yang bekerja pada sistem operasi Windows. Mac dan PC dibuat menjadi dua hal yang sangat berbeda. Meskipun ini sampai batas tertentu benar, Mac dan PC juga memiliki banyak kesamaan

Pilihan Editor

Perbedaan antara Babysitter dan Childminder

Perbedaan utama: Umumnya, pengasuh anak adalah orang yang mengasuh anak-anak secara sementara ketika orang tua tidak ada di rumah. Seorang pengasuh anak juga merawat anak-anak selama orang tua mereka tidak ada. Namun, mereka adalah profesional yang berkualitas. Tidak seperti pengasuh anak, pengasuh anak harus menyelesaikan proses persetujuan pemerintah