Kelas Abstrak vs Warisan
Abstract class dan Inheritance adalah dua konsep penting berorientasi objek yang ditemukan di banyak bahasa pemrograman berorientasi objek seperti Java. Kelas abstrak dapat dianggap sebagai versi abstrak dari kelas reguler (beton), sedangkan Warisan memungkinkan kelas baru untuk memperluas kelas lain. Kelas abstrak adalah kelas yang tidak dapat diinisialisasi tetapi dapat diperpanjang. Jadi, kelas Abstrak hanya bermakna jika bahasa pemrograman mendukung pewarisan. Di Java, kelas Abstrak dideklarasikan menggunakan kata kunci Abstrak, sedangkan kata kunci Extends digunakan untuk mewarisi dari kelas (super).
Apa itu Kelas Abstrak?
Biasanya, kelas Abstrak, juga dikenal sebagai Kelas Dasar Abstrak (ABC), tidak dapat dipakai (instance dari kelas tersebut tidak dapat dibuat). Jadi, kelas Abstrak hanya bermakna jika bahasa pemrograman mendukung pewarisan (kemampuan untuk membuat subkelas dari perluasan kelas). Kelas abstrak biasanya mewakili konsep atau entitas abstrak dengan sebagian atau tanpa implementasi. Oleh karena itu, kelas Abstrak bertindak sebagai kelas induk dari mana kelas turunan diturunkan sehingga kelas turunan akan berbagi fitur yang tidak lengkap dari kelas induk dan fungsionalitas dapat ditambahkan untuk melengkapinya.
Kelas abstrak mungkin berisi metode Abstrak. Subkelas yang memperluas kelas abstrak dapat mengimplementasikan metode Abstrak (diwarisi) ini. Jika kelas anak mengimplementasikan semua metode Abstrak seperti itu, itu adalah kelas konkret. Tetapi jika tidak, kelas anak juga menjadi kelas Abstrak. Apa artinya semua ini adalah bahwa, ketika programmer menominasikan sebuah kelas sebagai Abstrak, dia mengatakan bahwa kelas tersebut tidak akan lengkap dan akan memiliki elemen yang perlu diselesaikan oleh subkelas yang mewarisi. Ini adalah cara yang bagus untuk membuat kontrak antara dua programmer, yang menyederhanakan tugas dalam pengembangan perangkat lunak. Pemrogram, yang menulis kode untuk diwariskan, harus mengikuti definisi metode dengan tepat (tetapi tentu saja dapat memiliki implementasinya sendiri).
Apa itu Warisan?
Inheritance adalah konsep berorientasi objek, yang memungkinkan kelas baru untuk memperluas kelas lain. Kata kunci extends digunakan untuk mengimplementasikan konsep pewarisan dalam bahasa pemrograman Java. Warisan pada dasarnya menyediakan penggunaan kembali kode dengan mengizinkan perluasan properti dan perilaku kelas yang ada oleh kelas yang baru ditentukan. Ketika subkelas baru (atau kelas turunan) memperluas kelas super (atau kelas induk), subkelas tersebut akan mewarisi semua atribut dan metode dari kelas super. Subkelas dapat secara opsional menimpa perilaku (menyediakan fungsionalitas baru atau yang diperluas ke metode) yang diwarisi dari kelas induk. Biasanya, subkelas A tidak dapat memperluas beberapa kelas super (misalnya di Java). Oleh karena itu, Anda tidak dapat menggunakan ekstensi untuk pewarisan berganda. Untuk memiliki banyak pewarisan, Anda perlu menggunakan antarmuka.
Apa perbedaan antara Kelas Abstrak dan Warisan?
Kelas abstrak biasanya mewakili konsep abstrak atau entitas dengan sebagian atau tanpa implementasi. Warisan memungkinkan kelas baru untuk memperluas kelas lain. Karena, kelas Abstrak tidak dapat dipakai, Anda perlu menggunakan konsep pewarisan untuk menggunakan kelas Abstrak. Jika tidak, kelas Abstrak tidak akan berguna. Kelas abstrak dapat berisi metode Abstrak dan ketika kelas diperluas, semua metode (Abstrak dan konkret) diwariskan. Kelas yang diwarisi dapat mengimplementasikan salah satu atau semua metode. Jika semua metode Abstrak tidak diimplementasikan, maka kelas tersebut juga menjadi kelas Abstrak. Sebuah kelas tidak dapat mewarisi dari lebih dari satu kelas Abstrak (ini bukan kualitas dari kelas Abstrak itu sendiri, melainkan pembatasan pewarisan).
Postingan terkait:
Perbedaan Kelas Abstrak dan Kelas Beton
Perbedaan Virtual dan Abstrak
Perbedaan Antara Kelas Abstrak dan Antarmuka
Perbedaan Antara Implement dan Perluasan
Perbedaan Graf dan Pohon
Filed Under: Pemrograman Tagged With: ABC, abstrak, Kelas Dasar Abstrak, Kelas abstrak, Kelas abstrak, Kata kunci abstrak, Metode abstrak, kelas konkret, Kata kunci Extends, Warisan, Kelas warisan, kelas warisan, Java, pewarisan berganda, konsep berorientasi objek, kelas reguler, kelas super
Tentang Penulis: Indika
Indika, BSc. Eng, MSECE Computer Engineering, PhD. Ilmu Komputer, adalah Asisten Profesor dan memiliki minat penelitian di bidang Bioinformatika, Biologi Komputasi, dan Pemrosesan Bahasa Alami Biomedis.
Komentar
-
Jason mengatakan
30 Agustus 2017 pukul 13:25
Terima kasih telah menjelaskan perbedaannya. Semua pertanyaan saya telah diselesaikan dengan ini.
Balas
-
Aus mengatakan
10 Mei 2019 pukul 15:04
jawaban terbaik di web, Guru tidak menjelaskan omong kosong dan tidak masuk akal, mono tone mf. Beginilah cara Anda menjelaskan konsep.
Balas
Tinggalkan Balasan Batalkan balasan
Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai
Komentar
Nama
Situs Web