Perbezaan Antara Kelas Abstrak dan Antara Muka

Perbezaan Antara Kelas Abstrak dan Antara Muka
Perbezaan Antara Kelas Abstrak dan Antara Muka

Video: Perbezaan Antara Kelas Abstrak dan Antara Muka

Video: Perbezaan Antara Kelas Abstrak dan Antara Muka
Video: Perbedaan Kerjasama Pemerintah dan Badan Usaha versus Privatisasi 2024, November
Anonim

Kelas Abstrak lwn Antara Muka

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

Apakah itu Kelas Abstrak?

Biasanya, kelas Abstrak, juga dikenali sebagai Kelas Asas Abstrak (ABC), tidak boleh dibuat instantiated (contoh kelas itu tidak boleh dibuat). Jadi, kelas Abstrak hanya bermakna jika bahasa pengaturcaraan menyokong warisan (keupayaan untuk mencipta subkelas daripada melanjutkan kelas). Kelas abstrak biasanya mewakili konsep atau entiti abstrak dengan pelaksanaan separa atau tiada. Oleh itu, kelas Abstrak bertindak sebagai kelas induk dari mana kelas anak diperoleh supaya kelas anak akan berkongsi ciri kelas induk yang tidak lengkap dan kefungsian boleh ditambah untuk melengkapkannya.

Kelas abstrak mungkin mengandungi kaedah Abstrak. Subkelas yang memanjangkan kelas abstrak boleh melaksanakan kaedah Abstrak (warisan) ini. Jika kelas kanak-kanak melaksanakan semua kaedah Abstrak sedemikian, ia adalah kelas konkrit. Tetapi jika tidak, kelas kanak-kanak juga menjadi kelas Abstrak. Maksud semua ini ialah, apabila pengaturcara mencalonkan kelas sebagai Abstrak, dia mengatakan bahawa kelas itu akan menjadi tidak lengkap dan ia akan mempunyai elemen yang perlu dilengkapkan oleh subkelas yang mewarisi. Ini adalah cara yang bagus untuk membuat kontrak antara dua pengaturcara, yang memudahkan tugas dalam pembangunan perisian. Pengaturcara, yang menulis kod untuk diwarisi, perlu mengikut takrif kaedah dengan tepat (tetapi sudah tentu boleh mempunyai pelaksanaannya sendiri).

Apakah itu Antara Muka?

Antara muka ialah jenis abstrak yang digunakan untuk menentukan kontrak yang harus dilaksanakan oleh kelas, yang melaksanakan antara muka tersebut. Kata kunci antara muka digunakan untuk menentukan antara muka dan kata kunci Implements digunakan untuk melaksanakan antara muka oleh kelas (dalam bahasa pengaturcaraan Java). Biasanya, antara muka hanya akan mengandungi tandatangan kaedah dan pengisytiharan berterusan. Mana-mana antara muka yang melaksanakan antara muka tertentu harus melaksanakan semua kaedah yang ditakrifkan dalam antara muka, atau harus diisytiharkan sebagai kelas abstrak. Di Java, jenis rujukan objek boleh ditakrifkan sebagai jenis antara muka. Tetapi objek itu mestilah sama ada batal atau harus memegang objek kelas, yang melaksanakan antara muka tertentu itu. Menggunakan kata kunci Implements dalam Java, anda boleh melaksanakan berbilang antara muka pada satu kelas.

Apakah perbezaan antara Kelas Abstrak dan Antara Muka?

Kelas abstrak biasanya mewakili konsep abstrak atau entiti dengan pelaksanaan separa atau tanpa pelaksanaan. Sebaliknya, antara muka ialah jenis abstrak yang digunakan untuk menentukan kontrak yang harus dilaksanakan oleh kelas. Kelas abstrak harus diwarisi (atau dilanjutkan), manakala antara muka harus dilaksanakan. Kelas abstrak mungkin mengandungi kaedah abstrak, manakala antara muka hanya boleh mengandungi kaedah abstrak. Kelas abstrak boleh mengandungi sebarang pembolehubah, tetapi Antara Muka hanya boleh menentukan pemalar. Kelas tidak boleh mewarisi daripada lebih daripada satu kelas abstrak tetapi boleh melaksanakan berbilang antara muka. Antara Muka tidak boleh melaksanakan antara muka lain. Walau bagaimanapun, antara muka boleh memanjangkan kelas.

Disyorkan: