Perbedaan Antara Kelas Abstrak dan Kelas Beton

Anonim

Kelas Kelas Beton vs Beton

Sebagian besar bahasa pemrograman berorientasi objek modern yang populer seperti Java dan C # berbasis kelas. Mereka mencapai konsep berorientasi objek seperti enkapsulasi, pewarisan dan polimorfisme melalui penggunaan kelas. Kelas adalah representasi abstrak dari objek dunia nyata. Kelas bisa berupa beton atau abstrak tergantung pada tingkat penerapan fungsionalitas metode mereka. Sebuah kelas beton benar-benar menerapkan semua metodenya. Kelas abstrak dapat dianggap sebagai versi terbatas dari kelas biasa (beton), yang mungkin berisi metode yang sebagian diterapkan. Biasanya, kelas beton disebut sebagai kelas (hanya).

Apa itu Kelas Beton?

Kelas default adalah kelas beton. Kata kunci kelas digunakan untuk mendefinisikan kelas (e g di Jawa). Dan biasanya mereka hanya disebut sebagai kelas (tanpa kata sifat beton). Kelas konkret menggambarkan representasi konseptual objek dunia nyata. Kelas memiliki sifat yang disebut atribut. Atribut diimplementasikan sebagai variabel global dan contoh. Metode di kelas mewakili atau menentukan perilaku kelas-kelas ini. Metode dan atribut kelas disebut anggota kelas. Biasanya, enkapsulasi dicapai dengan membuat atribut bersifat pribadi, sekaligus menciptakan metode publik yang dapat digunakan untuk mengakses atribut tersebut. Objek adalah instance dari kelas. Warisan memungkinkan pengguna untuk memperpanjang kelas (disebut sub kelas) dari kelas lain (disebut kelas super). Polimorfisme memungkinkan programmer untuk mengganti objek kelas di tempat objek kelas supernya. Biasanya, kata benda yang ditemukan dalam definisi masalah langsung menjadi kelas dalam program. Dan juga, kata kerja menjadi metode. Publik, swasta dan dilindungi adalah pengubah akses khas yang digunakan untuk kelas.

Apa itu Class Abstrak?

Kelas abstrak dideklarasikan dengan kata kunci Abstrak (e. G di Jawa,). 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 dapat berisi metode Abstrak. Subclass yang memperluas kelas abstrak dapat menerapkan metode abstrak (yang diwariskan) ini.Jika kelas anak menerapkan semua metode Abstrak tersebut, maka kelas menjadi 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 perbedaan antara Kelas Abstrak dan Kelas Beton?

Kelas abstrak biasanya memiliki implementasi parsial atau tidak sama sekali. Di sisi lain, kelas beton selalu memiliki implementasi penuh dari tingkah lakunya. Tidak seperti kelas beton, kelas abstrak tidak dapat di instantiasikan. Oleh karena itu kelas abstrak harus diperluas agar berguna. Kelas abstrak mungkin berisi metode abstrak, tapi kelas beton tidak bisa. Ketika sebuah kelas abstrak diperluas, semua metode (baik abstrak dan konkret) diwariskan. Kelas yang diwariskan dapat menerapkan salah satu atau semua metode. Jika semua metode abstrak tidak diimplementasikan, maka kelas itu juga menjadi kelas abstrak.