Perbezaan antara kelas dan struktur

Perbezaan antara kelas dan struktur

Kelas vs struktur

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

Apa itu kelas?

Kelas menggambarkan perwakilan abstrak objek dunia nyata, sementara hubungan menggambarkan bagaimana setiap kelas disambungkan kepada orang lain. Kedua -dua kelas dan hubungan mempunyai sifat yang dipanggil atribut. Kaedah dalam kelas mewakili atau menentukan tingkah laku kelas -kelas ini. Kaedah dan atribut kelas dipanggil ahli kelas. Biasanya, enkapsulasi dicapai dengan membuat atribut secara peribadi, sambil membuat kaedah awam yang boleh digunakan untuk mengakses atribut tersebut. Objek adalah contoh kelas. Warisan membolehkan pengguna melanjutkan kelas (dipanggil kelas sub) dari kelas lain (dipanggil kelas super). Polimorfisme membolehkan pengaturcara menggantikan objek kelas sebagai pengganti objek kelas supernya. Biasanya, kata nama yang terdapat dalam definisi masalah secara langsung menjadi kelas dalam program. Dan juga, kata kerja menjadi kaedah. Awam, swasta dan dilindungi adalah pengubah akses biasa yang digunakan untuk kelas. Rajah kelas menunjukkan kelas sistem, hubungan antara kelas, dan atribut mereka.

Apakah struktur?

Seperti yang disebutkan di atas, struktur sangat serupa dengan kelas dengan penggunaan yang sama, tetapi sedikit keupayaan terhad daripada kelas. Malah, kelas boleh dianggap sebagai lanjutan kepada struktur. Contohnya, struktur sama seperti kelas dalam C ++, tetapi mereka mempunyai ahli awam secara lalai. Struktur boleh ditakrifkan oleh pengguna untuk mewakili jenis yang komposit. Sama dengan kelas, struktur mengandungi ahli yang boleh dimiliki oleh banyak jenis. Struktur kata kunci digunakan untuk menentukan struktur dalam c dan c ++, manakala struktur kata kunci digunakan untuk sama dalam .Bahasa pengaturcaraan bersih.

Apakah perbezaan antara kelas dan struktur?

Walaupun, kedua -dua kelas dan struktur adalah pembinaan serupa yang terdapat dalam bahasa pengaturcaraan, mereka mempunyai perbezaan yang halus. Biasanya, kelas adalah lanjutan struktur, dan oleh itu struktur mempunyai beberapa batasan 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 -ciri yang sama dengan menggunakan pengubah akses yang sesuai di C++. Walau bagaimanapun, dalam C, struktur tidak boleh mengandungi sebarang fungsi atau operasi yang terlalu banyak. Kelas Kata Kunci dan Struktur digunakan untuk menentukan kelas dan struktur dalam C ++, masing -masing. Ketika datang ke .Bahasa Bersih (C#, VB.Bersih, dll.), kelas adalah jenis rujukan, sementara struktur adalah jenis nilai. Dan biasanya, struktur digunakan untuk objek yang lebih kecil, tetapi kelas digunakan untuk objek yang lebih besar yang disimpan dalam ingatan untuk tempoh yang lebih lama.