Perbedaan Antara Kelas Abstrak dan Warisan

Anonim

Abstrak vs Warisan

Abstrak kelas dan Warisan adalah dua konsep berorientasi objek penting yang ditemukan pada banyak bahasa pemrograman berorientasi objek seperti Java. Kelas abstrak dapat dianggap sebagai versi abstrak dari kelas biasa (beton), sedangkan Warisan memungkinkan kelas baru untuk memperluas kelas lainnya. Kelas abstrak adalah kelas yang tidak dapat diinisialisasi namun dapat diperpanjang. Jadi, kelas abstrak hanya bermakna jika bahasa pemrograman mendukung pewarisan. Di Jawa, kelas abstrak dideklarasikan dengan kata kunci Abstract, sedangkan Extends keyword digunakan untuk mewarisi dari kelas (super).

Apa itu Class Abstrak?

Biasanya, kelas Abstrak, juga dikenal sebagai Abstract Base Classes (ABC), tidak dapat di instantiasikan (instance dari kelas itu tidak dapat dibuat). Jadi, kelas abstrak hanya bermakna jika bahasa pemrograman mendukung pewarisan (kemampuan untuk membuat subkelas dari perpanjangan kelas). Kelas abstrak biasanya mewakili konsep atau entitas abstrak dengan implementasi parsial atau tanpa implementasi. Oleh karena itu, kelas abstrak bertindak sebagai kelas induk dari kelas anak mana yang diturunkan sehingga kelas anak akan berbagi fitur yang tidak lengkap dari kelas induk dan fungsionalitas dapat ditambahkan untuk menyelesaikannya.

Kelas abstrak mungkin berisi metode Abstrak. Subclass yang memperluas kelas abstrak dapat menerapkan metode abstrak (yang diwariskan) ini. Jika kelas anak menerapkan semua metode Abstrak tersebut, ini adalah kelas beton. Tapi jika tidak, kelas anak juga menjadi kelas Abstrak. Apa semua ini berarti bahwa, ketika programmer menunjuk sebuah kelas sebagai Abstrak, dia mengatakan bahwa kelas akan tidak lengkap dan akan memiliki elemen yang perlu diselesaikan oleh subclass yang mewarisi. Ini adalah cara bagus untuk membuat kontrak antara dua programmer, yang menyederhanakan tugas dalam pengembangan perangkat lunak. Pemrogram, yang menulis kode untuk mewarisi, perlu mengikuti definisi metode secara tepat (tapi tentu saja dapat memiliki penerapannya sendiri).

Apa itu Warisan?

Warisan adalah konsep berorientasi objek, yang memungkinkan kelas baru untuk memperluas kelas lainnya. Memperluas kata kunci digunakan untuk mengimplementasikan konsep inheritance dalam bahasa pemrograman Java. Warisan pada dasarnya menyediakan penggunaan kembali kode dengan memungkinkan memperluas sifat dan perilaku kelas yang ada oleh kelas yang baru didefinisikan. Ketika subkelas baru (atau kelas turunan) memperluas kelas super (atau kelas induk), subkelas tersebut akan mewarisi semua atribut dan metode kelas super. Subclass secara opsional dapat menimpa perilaku (menyediakan fungsionalitas baru atau diperpanjang ke metode) yang diwarisi dari kelas induk.Biasanya, subclass A tidak dapat memperpanjang beberapa kelas super (e. G di Jawa). Oleh karena itu, Anda tidak dapat menggunakan meluas untuk multiple inheritance. Agar memiliki banyak warisan, Anda perlu menggunakan antarmuka.

Apa perbedaan antara Kelas Abstrak dan Warisan?

Kelas abstrak biasanya mewakili konsep abstrak atau entitas dengan implementasi parsial atau tidak sama sekali. Warisan memungkinkan kelas baru untuk memperluas kelas lainnya. Karena, kelas abstrak tidak dapat di instantiasikan, Anda perlu menggunakan konsep pewarisan untuk memanfaatkan kelas Abstrak. Jika tidak, kelas Abstrak tidak berguna. Kelas abstrak dapat berisi metode Abstrak dan ketika kelas diperpanjang, semua metode (Abstrak dan beton) diwarisi. Kelas yang diwariskan dapat menerapkan salah satu atau semua metode. Jika semua metode abstrak tidak diimplementasikan, maka kelas tersebut juga menjadi kelas Abstrak. Kelas tidak dapat mewarisi dari lebih dari satu kelas Abstrak (ini bukan kualitas kelas Abstrak per se, melainkan pembatasan warisan).