Perbezaan antara Kelas dan Struktur

Anonim

Kelas vs Struktur

Beberapa konsep utama bahasa pengaturcaraan Berorientasikan Objek (OO) adalah pengkapsulan, warisan dan polimorfisme. Kelas dan Struktur adalah dua daripada konstruk / alat OO, yang membantu pengaturcara untuk mencapai konsep-konsep ini dalam kebanyakan bahasa pengaturcaraan OO yang keluar (Java tidak menyediakan struktur). Kelas adalah perwakilan abstrak objek dunia sebenar. Struktur sangat serupa dengan kelas dengan penggunaan yang sama, tetapi mempunyai beberapa batasan berbanding dengan kelas. Kedua-dua kelas dan struktur digunakan untuk menggabungkan jenis data yang sama, bersama-sama.

Apakah Kelas?

Kelas menggambarkan perwakilan abstrak objek dunia sebenar, manakala hubungan menggambarkan bagaimana setiap kelas disambungkan kepada orang lain. Kedua-dua kelas dan hubungan mempunyai sifat-sifat yang disebut sifat. Kaedah dalam kelas mewakili atau menentukan kelakuan kelas-kelas ini. Kaedah dan sifat kelas dipanggil ahli kelas. Lazimnya, enkapsulasi dicapai dengan membuat sifat-sifat peribadi, sambil mewujudkan kaedah awam yang boleh digunakan untuk mengakses sifat-sifat tersebut. Objek adalah contoh kelas. Warisan membolehkan pengguna untuk melanjutkan kelas (dipanggil kelas sub) dari kelas lain (dipanggil kelas super). Polimorfisme membolehkan pengaturcara untuk menggantikan objek kelas sebagai objek objek super kelasnya. Biasanya, kata nama yang ditemui dalam definisi masalah terus menjadi kelas dalam program. Dan juga, kata kerja menjadi kaedah. Awam, peribadi dan dilindungi adalah pengubah akses capaian biasa yang digunakan untuk kelas. Gambar rajah kelas menunjukkan kelas sistem, hubungan antara kelas, dan sifat mereka.

Apakah Struktur?

Seperti yang dinyatakan di atas, struktur sangat serupa dengan kelas dengan penggunaan yang sama, tetapi sedikit keupayaan terhad daripada kelas. Malah, kelas boleh dipertimbangkan sebagai lanjutan kepada struktur. Sebagai contoh, struktur adalah sama seperti kelas dalam C ++, tetapi mereka mempunyai ahli awam secara lalai. Struktur boleh ditentukan oleh pengguna untuk mewakili jenis yang komposit. Sama seperti kelas, struktur mengandungi ahli yang boleh dimiliki oleh banyak jenis. Struktur kata kunci digunakan untuk menentukan struktur dalam C dan C ++, sedangkan Struktur kata kunci digunakan untuk bahasa pemrograman NET yang sama.

Apakah perbezaan antara Kelas dan Struktur?

Walaupun, kedua-dua kelas dan struktur adalah pembinaan yang sama yang terdapat dalam bahasa pengaturcaraan, mereka mempunyai perbezaan yang halus. Biasanya, kelas adalah lanjutan struktur, dan oleh itu struktur mempunyai beberapa had relatif. Sebagai contoh, struktur boleh dianggap sama seperti kelas dalam C ++, tetapi ahli tidak awam secara lalai dalam kelas (tidak seperti dalam struktur).Ini sebenarnya bermakna anda boleh menentukan kelas dan struktur dengan ciri yang sama dengan menggunakan pengubah akses yang sesuai dalam C ++. Walau bagaimanapun di C, struktur tidak boleh mengandungi sebarang fungsi atau operasi yang terlalu banyak. Kelas kata kunci dan struct digunakan untuk menentukan kelas dan struktur dalam C ++. Apabila ia datang. Bahasa-bahasa NET (C #, VB NET, dan lain-lain), kelas adalah jenis rujukan, manakala struktur adalah jenis nilai. Dan selalunya, struktur digunakan untuk objek yang lebih kecil, tetapi kelas digunakan untuk objek yang lebih besar yang disimpan dalam memori untuk tempoh yang lebih lama.