Perbezaan Antara Kelas Abstrak dan Antara Muka

Anonim

Abstrak Kelas vs Antara Muka

Abstrak kelas dan Antara Muka adalah dua objek berorientasikan objek yang terdapat dalam banyak bahasa pengaturcaraan berorientasikan objek seperti Java. Kelas abstrak boleh dianggap sebagai versi abstrak dari kelas biasa (konkrit), manakala antara muka boleh dianggap sebagai cara melaksanakan kontrak. Kelas abstrak adalah kelas yang tidak boleh diasaskan tetapi boleh dilanjutkan. Antara muka adalah jenis yang perlu dilaksanakan oleh kelas-kelas lain. Di Jawa, kelas Abstrak diisytiharkan menggunakan kata kunci Abstrak, manakala kata kunci antara muka digunakan untuk menentukan antara muka.

Apakah Kelas Abstrak?

Biasanya, kelas Abstrak, juga dikenali sebagai Kelas Abstrak Base (ABC), tidak boleh instantiated (contoh kelas itu tidak boleh dibuat). Oleh itu, kelas Abstrak hanya bermakna jika bahasa pengaturcaraan menyokong warisan (keupayaan untuk mencipta subclass daripada melanjutkan kelas). Kelas abstrak biasanya mewakili konsep atau entiti abstrak dengan pelaksanaan sebahagian atau tiada. Oleh itu, kelas Abstrak bertindak sebagai kelas induk dari mana kelas kanak-kanak diperoleh supaya kelas kanak-kanak akan berkongsi ciri-ciri yang tidak lengkap kelas induk dan fungsi boleh ditambah untuk menyelesaikannya.

Kelas abstrak mungkin mengandungi kaedah Abstrak. Subkelas yang memanjangkan kelas abstrak boleh melaksanakan kaedah-kaedah abstrak ini (diwariskan). Sekiranya kelas kanak-kanak melaksanakan semua kaedah Abstrak, ia adalah kelas konkrit. Tetapi jika tidak, kelas kanak-kanak juga menjadi kelas Abstrak. Apa maksudnya ialah, apabila programmer menamakan kelas sebagai Abstrak, dia mengatakan bahawa kelas itu tidak lengkap dan ia akan mempunyai unsur-unsur yang perlu diselesaikan oleh subclass yang mewarisi. Ini adalah cara yang baik untuk membuat kontrak antara dua pengaturcara, yang memudahkan tugas dalam pembangunan perisian. Pengaturcara, yang menulis kod untuk mewarisi, perlu mengikuti definisi kaedah dengan tepat (tetapi sudah tentu dapat melaksanakannya sendiri).

Apa itu Antara Muka?

Antara muka adalah jenis abstrak yang digunakan untuk menentukan kontrak yang perlu dilaksanakan oleh kelas, yang melaksanakan antara muka tersebut. Kata kunci antara muka digunakan untuk menentukan antara muka dan kata kunci Implement digunakan untuk melaksanakan antara muka oleh kelas (dalam bahasa pengaturcaraan Java). Biasanya, antara muka hanya akan mengandungi tandatangan kaedah dan perisytiharan yang berterusan. Mana-mana antara muka yang melaksanakan antara muka tertentu harus melaksanakan semua kaedah yang ditentukan dalam antara muka, atau harus diisytiharkan sebagai kelas abstrak. Di Jawa, jenis rujukan objek boleh didefinisikan sebagai jenis antara muka. Tetapi objek itu mesti sama ada batal atau harus memegang objek kelas, yang menerapkan antara muka tertentu.Menggunakan kata kunci Implementasi di Jawa, anda boleh melaksanakan pelbagai antaramuka ke kelas tunggal.

Apakah perbezaan antara Kelas Abstrak dan Antara Muka?

Kelas abstrak biasanya mewakili konsep abstrak atau entiti dengan sebahagian atau tiada pelaksanaan. Sebaliknya, antara muka adalah jenis abstrak yang digunakan untuk menentukan kontrak yang perlu dilaksanakan oleh kelas. Kelas abstrak perlu diwarisi (atau dilanjutkan), manakala antara muka harus dilaksanakan. Kelas abstrak mungkin mengandungi kaedah abstrak, manakala antara muka hanya perlu mengandungi kaedah abstrak. Kelas abstrak boleh mengandungi sebarang pembolehubah, tetapi Interface hanya boleh menentukan pemalar. Kelas tidak boleh mewarisi dari lebih daripada satu kelas abstrak tetapi boleh melaksanakan pelbagai antara muka. Antara muka tidak dapat melaksanakan antara muka yang lain. Walau bagaimanapun antara muka boleh melanjutkan kelas.