Kelas vs Struktur
Beberapa konsep utama bahasa pemrograman Berorientasi Objek (OO) adalah enkapsulasi, pewarisan, dan polimorfisme. Kelas dan Struktur adalah dua dari konstruksi/alat OO, yang membantu pemrogram untuk mencapai konsep-konsep ini dalam sebagian besar bahasa pemrograman OO yang ada (Java tidak menyediakan struktur). Kelas adalah representasi abstrak dari objek dunia nyata. Struktur sangat mirip dengan kelas dengan penggunaan yang sama, tetapi memiliki sedikit keterbatasan dibandingkan dengan kelas. Kelas dan struktur digunakan untuk mengelompokkan tipe data yang serupa, bersama-sama.
Apa itu Kelas?
Kelas menggambarkan representasi abstrak dari objek dunia nyata, sedangkan hubungan menggambarkan bagaimana setiap kelas terhubung dengan yang lain. Kedua kelas dan hubungan memiliki properti yang disebut atribut. Metode di kelas mewakili atau mendefinisikan perilaku kelas-kelas ini. Metode dan atribut kelas disebut anggota kelas. Biasanya, enkapsulasi dicapai dengan membuat atribut menjadi pribadi, sambil membuat metode publik yang dapat digunakan untuk mengakses atribut tersebut. Objek adalah turunan dari kelas. Warisan memungkinkan pengguna untuk memperluas kelas (disebut sub kelas) dari kelas lain (disebut kelas super). Polimorfisme memungkinkan pemrogram untuk mengganti objek kelas di tempat objek kelas supernya. Biasanya, kata benda yang ditemukan dalam definisi masalah langsung menjadi kelas dalam program. Demikian pula, kata kerja menjadi metode. Publik, pribadi dan dilindungi adalah pengubah akses khas yang digunakan untuk kelas. Diagram kelas menunjukkan kelas sistem, hubungan antar kelas, dan atributnya.
Apa itu Struktur?
Seperti disebutkan di atas, struktur sangat mirip dengan kelas dengan penggunaan yang sama, tetapi memiliki kemampuan yang sedikit lebih terbatas daripada kelas. Bahkan, kelas dapat dianggap sebagai perpanjangan dari struktur. Misalnya, struktur sama dengan kelas di C++, tetapi mereka memiliki anggota publik secara default. Sebuah struktur dapat didefinisikan oleh pengguna untuk mewakili jenis yang komposit. Mirip dengan kelas, struktur berisi anggota yang dapat dimiliki oleh banyak tipe. Kata kunci struct digunakan untuk mendefinisikan struktur dalam C dan C++, sedangkan kata kunci Struktur digunakan untuk hal yang sama dalam bahasa pemrograman. NET.
Apa perbedaan antara Kelas dan Struktur?
Meskipun, kedua kelas dan struktur adalah konstruksi serupa yang ditemukan dalam bahasa pemrograman, mereka memiliki perbedaan yang halus. Biasanya, kelas adalah perpanjangan dari struktur, dan oleh karena itu struktur memiliki beberapa keterbatasan relatif. Misalnya, struktur dapat dianggap sama dengan kelas di C++, tetapi anggota tidak bersifat publik secara default di kelas (tidak seperti dalam struktur). Ini sebenarnya berarti bahwa Anda dapat mendefinisikan kelas dan struktur dengan karakteristik yang persis sama menggunakan pengubah akses yang sesuai di C++. Namun dalam C, struktur tidak dapat berisi fungsi atau operasi yang kelebihan beban. Kata kunci kelas dan struct digunakan untuk mendefinisikan kelas dan struktur di C++, masing-masing. Ketika berbicara tentang bahasa. NET (C, VB. NET, dll.), kelas adalah tipe referensi, sedangkan struktur adalah tipe nilai. Dan biasanya, struktur digunakan untuk objek yang lebih kecil, tetapi kelas digunakan untuk objek yang lebih besar yang disimpan dalam memori untuk waktu yang lebih lama.