Class contra estructures
Alguns dels conceptes principals dels llenguatges de programació orientats a objectes (OO) són l'encapsulació, l'herència i el polimorfisme. La classe i l'estructura són dues de les construccions/eines d'OO, que ajuden els programadors a assolir aquests conceptes dins de la majoria dels llenguatges de programació d'OO (Java no proporciona estructures). Les classes són una representació abstracta d'objectes del món real. Les estructures són molt semblants a les classes amb un ús similar, però tenen poques limitacions en comparació amb les classes. Tant les classes com l'estructura s'utilitzen per agrupar tipus de dades similars, junts.
Què són les classes?
Les classes representen la representació abstracta d'objectes del món real, mentre que les relacions mostren com cada classe està connectada amb les altres. Tant les classes com les relacions tenen propietats anomenades atributs. Els mètodes de les classes representen o defineixen el comportament d'aquestes classes. Els mètodes i els atributs de les classes s'anomenen membres de la classe. Normalment, l'encapsulació s'aconsegueix fent que els atributs siguin privats, alhora que es creen mètodes públics que es poden utilitzar per accedir a aquests atributs. Un objecte és la instància d'una classe. L'herència permet a l'usuari ampliar classes (anomenades subclasses) d' altres classes (anomenades superclasses). El polimorfisme permet al programador substituir un objecte d'una classe en lloc d'un objecte de la seva superclasse. Normalment, els substantius que es troben a la definició del problema es converteixen directament en classes del programa. I de la mateixa manera, els verbs esdevenen mètodes. Públic, privat i protegit són els modificadors d'accés típics utilitzats per a les classes. Un diagrama de classes mostra les classes dels sistemes, les relacions entre classes i els seus atributs.
Què són les estructures?
Com s'ha esmentat anteriorment, les estructures són molt semblants a les classes amb un ús similar, però tenen capacitats lleugerament limitades que les classes. De fet, les classes es poden considerar com una extensió de les estructures. Per exemple, les estructures són les mateixes que les classes en C++, però tenen membres públics per defecte. L'usuari pot definir una estructura per representar un tipus compost. De manera similar a les classes, les estructures contenen membres que poden pertànyer a molts tipus. La paraula clau struct s'utilitza per definir una estructura en C i C++, mentre que la paraula clau Estructura s'utilitza per a la mateixa en els llenguatges de programació. NET.
Quina diferència hi ha entre classes i estructures?
Tot i que tant les classes com les estructures són construccions similars que es troben als llenguatges de programació, tenen diferències subtils. Normalment, la classe és una extensió de l'estructura i, per tant, les estructures tenen algunes limitacions relatives. Per exemple, les estructures es poden considerar el mateix que les classes en C++, però els membres no són públics per defecte a les classes (a diferència de les estructures). Això vol dir que podeu definir una classe i una estructura amb exactament les mateixes característiques utilitzant els modificadors d'accés adequats en C++. Tanmateix, a C, les estructures no poden contenir cap funció ni operacions sobrecarregades. Les paraules clau class i struct s'utilitzen per definir una classe i una estructura en C++, respectivament. Quan es tracta de llenguatges. NET (C, VB. NET, etc.), la classe és un tipus de referència, mentre que l'estructura és un tipus de valor. I normalment, les estructures s'utilitzen per a objectes més petits, però les classes s'utilitzen per a objectes més grans que es conserven a la memòria durant períodes més llargs.