Pagkakaiba sa Pagitan ng Mga Klase at Structure

Pagkakaiba sa Pagitan ng Mga Klase at Structure
Pagkakaiba sa Pagitan ng Mga Klase at Structure

Video: Pagkakaiba sa Pagitan ng Mga Klase at Structure

Video: Pagkakaiba sa Pagitan ng Mga Klase at Structure
Video: Paglilinaw sa Pagitan ng Dulog/Lapit, Metodo/Pamaraan, at Teknik/Estratehiya | Antipara Blues Ep. 12 2024, Hulyo
Anonim

Mga Klase kumpara sa Mga Istruktura

Ang ilan sa mga pangunahing konsepto ng Object Oriented (OO) programming language ay encapsulation, inheritance at polymorphism. Ang Class at Structure ay dalawa sa mga OO constructs/tools, na tumutulong sa mga programmer na makamit ang mga konseptong ito sa loob ng karamihan sa mga lumalabas na OO programming language (ang Java ay hindi nagbibigay ng mga istruktura). Ang mga klase ay isang abstract na representasyon ng mga bagay sa totoong mundo. Ang mga istruktura ay halos kapareho sa mga klase na may katulad na paggamit, ngunit may kaunting mga limitasyon kumpara sa mga klase. Parehong ginagamit ang mga klase at istraktura upang pagpangkatin ang magkatulad na uri ng data, nang magkasama.

Ano ang Mga Klase?

Inilalarawan ng mga klase ang abstract na representasyon ng mga bagay sa totoong mundo, habang inilalarawan ng mga ugnayan kung paano konektado ang bawat klase sa iba. Ang parehong mga klase at relasyon ay may mga katangian na tinatawag na mga katangian. Ang mga pamamaraan sa mga klase ay kumakatawan o tumutukoy sa pag-uugali ng mga klase na ito. Ang mga pamamaraan at katangian ng mga klase ay tinatawag na mga miyembro ng klase. Karaniwan, nakakamit ang encapsulation sa pamamagitan ng paggawa ng mga katangian na pribado, habang gumagawa ng mga pampublikong pamamaraan na maaaring magamit upang ma-access ang mga katangiang iyon. Ang isang bagay ay ang instance ng isang klase. Ang inheritance ay nagbibigay-daan sa user na mag-extend ng mga klase (tinatawag na mga sub class) mula sa ibang mga klase (tinatawag na super class). Pinapayagan ng polymorphism ang programmer na palitan ang isang object ng isang klase sa halip na isang object ng super class nito. Karaniwan, ang mga pangngalan na matatagpuan sa kahulugan ng problema ay direktang nagiging mga klase sa programa. At gayundin, ang mga pandiwa ay nagiging mga pamamaraan. Pampubliko, pribado, at protektado ang mga karaniwang access modifier na ginagamit para sa mga klase. Ipinapakita ng class diagram ang mga klase ng system, mga ugnayan sa pagitan ng mga klase, at mga katangian ng mga ito.

Ano ang mga Structure?

Tulad ng nabanggit sa itaas, ang mga istruktura ay halos kapareho sa mga klase na may katulad na paggamit, ngunit bahagyang limitado ang mga kakayahan kaysa sa mga klase. Sa katunayan, ang mga klase ay maaaring ituring na extension sa mga istruktura. Halimbawa, ang mga istruktura ay kapareho ng mga klase sa C++, ngunit mayroon silang mga pampublikong miyembro bilang default. Ang isang istraktura ay maaaring tukuyin ng gumagamit upang kumatawan sa isang uri na pinagsama-sama. Katulad ng mga klase, ang mga istruktura ay naglalaman ng mga miyembro na maaaring kabilang sa maraming uri. Ang keyword struct ay ginagamit upang tukuyin ang isang istraktura sa C at C++, habang ang keyword na Structure ay ginagamit para sa parehong sa. NET programming language.

Ano ang pagkakaiba ng Mga Klase at Structure?

Kahit na, ang parehong mga klase at istruktura ay magkatulad na mga konstruksyon na matatagpuan sa mga programming language, mayroon silang mga banayad na pagkakaiba. Karaniwan, ang klase ay isang extension ng istraktura, at samakatuwid ang mga istruktura ay may ilang mga kamag-anak na limitasyon. Halimbawa, ang mga istruktura ay maaaring ituring na kapareho ng mga klase sa C++, ngunit ang mga miyembro ay hindi pampubliko bilang default sa mga klase (hindi katulad sa mga istruktura). Nangangahulugan ito na maaari mong tukuyin ang isang klase at isang istraktura na may eksaktong parehong mga katangian gamit ang naaangkop na mga modifier ng pag-access sa C++. Gayunpaman sa C, ang mga istruktura ay hindi maaaring maglaman ng anumang mga function o overloaded na mga operasyon. Ang klase ng mga keyword at struct ay ginagamit upang tukuyin ang isang klase at isang istraktura sa C++, ayon sa pagkakabanggit. Pagdating sa. NET na wika (C, VB. NET, atbp.), ang klase ay isang uri ng sanggunian, habang ang istraktura ay isang uri ng halaga. At kadalasan, ginagamit ang mga istruktura para sa mas maliliit na bagay, ngunit ginagamit ang mga klase para sa mas malalaking bagay na pinananatili sa memorya nang mas matagal.

Inirerekumendang: