Perbezaan Antara Kelas Abstrak Dan Warisan

Perbezaan Antara Kelas Abstrak Dan Warisan
Perbezaan Antara Kelas Abstrak Dan Warisan

Video: Perbezaan Antara Kelas Abstrak Dan Warisan

Video: Perbezaan Antara Kelas Abstrak Dan Warisan
Video: #26 Java - Abstract Class 2024, November
Anonim

Kelas Abstrak vs Warisan

Abstrak kelas dan Warisan adalah dua konsep berorientasikan objek penting yang terdapat dalam banyak bahasa pengaturcaraan berorientasikan objek seperti Java. Kelas abstrak boleh dianggap sebagai versi abstrak dari kelas biasa (konkrit), sementara Warisan membenarkan kelas baru untuk melanjutkan kelas lain. Kelas abstrak adalah kelas yang tidak dapat dimulakan tetapi dapat diperluas. Jadi, kelas Abstrak hanya bermakna jika bahasa pengaturcaraan menyokong warisan. Di Jawa, kelas Abstrak dinyatakan menggunakan kata kunci Abstrak, sementara kata kunci Extends digunakan untuk mewarisi dari kelas (super).

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 Warisan?

Inheritance adalah konsep berorientasikan objek, yang membolehkan kelas baru untuk melanjutkan kelas lain. Kata kunci memperluas digunakan untuk menerapkan konsep pewarisan dalam bahasa pengaturcaraan Java. Warisan pada dasarnya menyediakan penggunaan semula kod dengan membenarkan pengembangan sifat dan tingkah laku kelas yang ada oleh kelas yang baru ditakrifkan. Apabila subkelas baru (atau kelas turunan) meluaskan kelas super (atau kelas induk) maka subkelas akan mewarisi semua atribut dan kaedah kelas super. Subkelas boleh menggantikan tingkah laku (memberikan fungsi baru atau diperluas kepada kaedah) yang diwarisi dari kelas induk. Biasanya, subkelas tidak dapat meluaskan beberapa kelas super (contohnya di Java). Oleh itu, anda tidak boleh menggunakan panjar untuk pelbagai warisan. Untuk mempunyai banyak warisan, anda perlu menggunakan antara muka.

Apakah perbezaan antara Abstrak Kelas dan Warisan?

Kelas abstrak biasanya mewakili konsep abstrak atau entiti dengan pelaksanaan sebahagian atau tidak. Warisan membolehkan kelas baru untuk melanjutkan kelas lain. Kerana, kelas Abstrak tidak dapat dibuat, anda perlu menggunakan konsep warisan untuk menggunakan kelas Abstrak. Jika tidak, kelas Abstrak tidak ada gunanya. Kelas abstrak mungkin mengandungi kaedah Abstrak dan apabila kelas dilanjutkan, semua kaedah (Abstrak dan konkrit) diwarisi. Kelas yang diwarisi dapat melaksanakan sebarang atau semua kaedah. Sekiranya semua kaedah Abstrak tidak dilaksanakan, maka kelas itu juga menjadi kelas Abstrak. Kelas tidak dapat mewarisi dari lebih dari satu kelas Abstrak (ini bukan kualiti kelas Abstrak itu sendiri, melainkan sekatan warisan).

Disyorkan: