Différence entre classes et structures

Anonim

Classes vs Structures

Certains des principaux concepts des langages de programmation orientés objet sont l'encapsulation, l'héritage et le polymorphisme. Class et Structure sont deux des constructeurs / outils OO, qui aident les programmeurs à atteindre 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 avec une utilisation similaire, mais ont peu de limitations par rapport aux classes. Les deux classes et la structure sont utilisées pour regrouper les types de données similaires.

Que sont les cours?

Les classes représentent 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 des 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 réalisée en rendant les attributs privés, tout en créant des méthodes publiques qui peuvent ê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) 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. Typiquement, 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, private et protected sont les modificateurs d'accès typiques utilisés pour les classes. Un diagramme de classes montre les classes du système, les relations entre les classes et leurs attributs.

Qu'est-ce que les structures?

Comme mentionné ci-dessus, les structures sont très similaires aux classes avec une utilisation similaire, mais sont des capacités légèrement limitées que les classes. En fait, les classes peuvent être considérées comme une extension aux structures. Par exemple, les structures sont les mêmes que les 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. Comme les classes, les structures contiennent des membres qui peuvent 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é pour les mêmes langages de programmation.NET.

Quelle est la différence entre les classes et les structures?

Même si les deux classes et structures sont des constructions similaires trouvées dans les langages de programmation, elles présentent des différences subtiles. Typiquement, la classe est une extension de la structure, et par conséquent les structures ont des limitations relatives. Par exemple, les structures peuvent être considérées comme des classes en C ++, mais les membres ne sont pas publics par défaut dans les classes (contrairement aux structures).Cela signifie en fait 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 pas contenir de fonctions ou d'opérations surchargées. Mots-clés class et struct sont utilisés pour définir une classe et une structure en C ++, respectivement. Quand cela vient à. Les langages NET (C #, VB. NET, etc.), la classe est un type de référence, tandis que la structure est un type de valeur. Et généralement, les structures sont utilisées pour les objets plus petits, mais les classes sont utilisées pour les objets plus volumineux qui sont conservés dans la mémoire pendant de plus longues périodes.