Kelas Abstrak vs Antara Muka
Abstrak kelas dan Antaramuka adalah dua konstruk berorientasikan objek yang terdapat dalam banyak bahasa pengaturcaraan berorientasikan objek seperti Java. Kelas abstrak dapat dianggap sebagai versi abstrak dari kelas biasa (konkrit), sementara antara muka dapat dianggap sebagai alat untuk melaksanakan kontrak. Kelas abstrak adalah kelas yang tidak dapat dimulakan tetapi dapat diperluas. Antaramuka adalah jenis yang mesti dilaksanakan oleh kelas lain. Di Jawa, kelas Abstrak dinyatakan menggunakan kata kunci Abstrak, sementara kata kunci antara muka digunakan untuk menentukan antara muka.
Apa itu Kelas Abstrak?
Biasanya, kelas Abstrak, juga dikenali sebagai Kelas Dasar Abstrak (ABC), tidak dapat dijadikan contoh (contoh kelas itu tidak dapat dibuat). Oleh itu, kelas Abstrak hanya bermakna jika bahasa pengaturcaraan menyokong pewarisan (kemampuan untuk membuat subkelas dari memanjangkan kelas). Kelas abstrak biasanya mewakili konsep abstrak atau entiti dengan pelaksanaan sebahagian atau tidak. Oleh itu, kelas Abstrak bertindak sebagai kelas induk dari mana kelas anak diturunkan sehingga kelas anak akan berkongsi ciri-ciri kelas induk yang tidak lengkap dan fungsi dapat ditambahkan untuk menyelesaikannya.
Kelas abstrak mungkin mengandungi kaedah Abstrak. Subkelas yang meluaskan kelas abstrak boleh melaksanakan kaedah Abstrak (diwarisi) ini. Sekiranya kelas kanak-kanak melaksanakan semua kaedah Abstrak seperti itu, itu adalah kelas konkrit. Tetapi jika tidak, kelas kanak-kanak juga menjadi kelas Abstrak. Apa maksud semua ini ialah, apabila pengaturcara mencalonkan kelas sebagai Abstrak, dia mengatakan bahawa kelas itu tidak lengkap dan akan mempunyai unsur-unsur yang perlu diselesaikan oleh subkelas yang mewarisi. Ini adalah cara yang baik untuk membuat kontrak antara dua pengaturcara, yang memudahkan tugas dalam pembangunan perisian. Pengaturcara, yang menulis kod untuk diwarisi, perlu mengikuti definisi kaedah dengan tepat (tetapi tentu saja dapat melaksanakannya sendiri).
Apa itu antara muka?
Antaramuka adalah jenis abstrak yang digunakan untuk menentukan kontrak yang harus dilaksanakan oleh kelas, yang melaksanakan antara muka itu. 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 pernyataan berterusan. Mana-mana antara muka yang melaksanakan antara muka tertentu harus melaksanakan semua kaedah yang ditentukan dalam antara muka, atau harus dinyatakan sebagai kelas abstrak. Di Jawa, jenis rujukan objek dapat didefinisikan sebagai jenis antara muka. Tetapi objek itu mesti kosong atau harus memegang objek kelas, yang menerapkan antara muka tertentu. Dengan menggunakan kata kunci Implements di Java, anda dapat menerapkan beberapa antaramuka ke satu kelas.
Apakah perbezaan antara Kelas Abstrak dan Antara Muka?
Kelas abstrak biasanya mewakili konsep abstrak atau entiti dengan pelaksanaan sebahagian atau tidak. Sebaliknya, antara muka adalah jenis abstrak yang digunakan untuk menentukan kontrak yang harus dilaksanakan oleh kelas. Kelas abstrak harus diwarisi (atau diperpanjang), sementara antara muka harus dilaksanakan. Kelas abstrak mungkin mengandungi kaedah abstrak, sedangkan antara muka hanya boleh mengandungi kaedah abstrak. Kelas abstrak boleh mengandungi sebarang pemboleh ubah, tetapi Antaramuka hanya dapat menentukan pemalar. Kelas tidak dapat mewarisi dari lebih dari satu kelas abstrak tetapi dapat melaksanakan pelbagai antara muka. Antaramuka tidak dapat melaksanakan antara muka yang lain. Walau bagaimanapun, antara muka dapat meluaskan kelas.