Classes vs Structures
Les concepts principaux des langages de programmation orientés objet (OO) sont l'encapsulation, l'héritage et le polymorphisme. La classe et la structure sont deux des constructions / outils OO, qui aident les programmeurs à réaliser ces concepts dans la plupart des langages de programmation OO existants (Java ne fournit pas de structures). Les classes sont une représentation abstraite d'objets du monde réel. Les structures sont très similaires aux classes ayant un usage similaire, mais ont peu de limitations comparées aux classes. Les classes et la structure sont utilisées pour regrouper des types de données similaires..
Quelles sont les classes?
Les classes décrivent la représentation abstraite des objets du monde réel, tandis que les relations décrivent comment chaque classe est connectée aux autres. Les classes et les relations ont des propriétés appelées attributs. Les méthodes dans les classes représentent ou définissent le comportement de ces classes. Les méthodes et les attributs des classes sont appelés les membres de la classe. Généralement, l'encapsulation est obtenue en rendant les attributs privés, tout en créant des méthodes publiques pouvant être utilisées pour accéder à ces attributs. Un objet est l'instance d'une classe. L'héritage permet à l'utilisateur d'étendre des classes (appelées sous-classes) à partir d'autres classes (appelées super classes). Le polymorphisme permet au programmeur de substituer un objet d'une classe à la place d'un objet de sa super classe. En règle générale, les noms trouvés dans la définition du problème deviennent directement des classes dans le programme. Et de même, les verbes deviennent des méthodes. Public, privé et protégé sont les modificateurs d'accès typiques utilisés pour les classes. Un diagramme de classes montre les classes des systèmes, les relations entre les classes et leurs attributs.
Quelles sont les structures?
Comme mentionné ci-dessus, les structures sont très similaires aux classes ayant un usage similaire, mais leurs capacités sont légèrement limitées. En fait, les classes peuvent être considérées comme une extension des structures. Par exemple, les structures sont identiques aux classes en C ++, mais elles ont des membres publics par défaut. Une structure peut être définie par l'utilisateur pour représenter un type composite. Semblables aux classes, les structures contiennent des membres pouvant appartenir à de nombreux types. Le mot clé struct est utilisé pour définir une structure en C et C ++, tandis que le mot clé Structure est utilisé de la même manière dans les langages de programmation .NET..
Quelle est la différence entre les classes et les structures?
Même si les classes et les structures sont des constructions similaires dans les langages de programmation, elles présentent des différences subtiles. En règle générale, la classe est une extension de la structure et les structures ont donc certaines limitations relatives. Par exemple, les structures peuvent être considérées comme identiques aux classes en C ++, mais les membres ne sont pas publics par défaut dans les classes (contrairement aux structures). Cela signifie en réalité que vous pouvez définir une classe et une structure avec exactement les mêmes caractéristiques en utilisant les modificateurs d'accès appropriés en C ++. Cependant, en C, les structures ne peuvent contenir aucune fonction ni opération surchargée. Les mots-clés class et struct sont utilisés pour définir une classe et une structure en C ++, respectivement. En ce qui concerne les langages .NET (C #, VB.NET, etc.), classe est un type de référence, tandis que structure est un type de valeur. Et généralement, les structures sont utilisées pour des objets plus petits, mais les classes sont utilisées pour des objets plus grands conservés en mémoire pendant de plus longues périodes..