La plupart des programmeurs savent qu'un programme d'ordinateur ne contient rien de plus que des données et des instructions pour manipuler les données . Votre objectif , en tant que programmeur , est de représenter les données dans la structure la plus efficace et léger possible. Les deux «classes» et «structures» vous permettent de représenter les différents types de données. Beaucoup de langues disposent les classes et structures, y compris C + + , C #, Java et Visual Basic. ( Certaines langues se réfèrent à une structure comme une « structure »). Vous pouvez instancier les classes et les structures de la manière conventionnelle et accéder aux membres à la fois en utilisant la notation pointée points, mais les différences entre les deux types de données emporter sur ces quelques similitudes. But
classes constituent le fondement de la plupart des langues modernes orientés objet et permettent une manipulation sans fin. Lorsque vous utilisez une classe pour représenter vos données, vous avez toute la puissance d'un langage de programmation orienté objet à votre disposition. Faire une classe à votre type de données par défaut et l'utiliser lorsque vous n'êtes pas certain type de valeur qui fonctionne le mieux . Utilisez une structure , en revanche, que lorsque vous devez manipuler un nombre défini de valeurs de type non-référence comme une unité. Les programmeurs utilisent généralement des structures pour représenter des objets géométriques, des scores de jeux et d'autres informations relativement simple.
Sous-jacents Type
Une structure est un type valeur, alors qu'une classe est une référence Type . Les types de valeur représentent des nombres et du texte, et n'existent que dans la pile. Cela signifie que lorsque vous copiez une structure, vous créez un élément tout à fait nouveau dans la mémoire. Les modifications apportées au nouvel objet n'affectent pas l'objet original. Les types de référence , en revanche, existent à la fois sur la pile et le tas . Lorsque vous copiez une classe, vous êtes vraiment ne copiant l'adresse de référence à un emplacement de mémoire sur le tas . Ainsi, lorsque vous modifiez une copie d'un objet , vous modifiez également toutes les copies en mémoire.
Destructeurs
fonction de la langue que vous utilisez, vous peut souvent utiliser les destructeurs des objets de classe. En C + + , ainsi que dans la programmation ADO.Net , destructeurs permettent de vous assurer que le processeur détruit mémoire des objets à forte intensité dès qu'ils ne sont plus nécessaires . Cependant, de nombreux langages de programmation tels que C # , ne vous permettent pas d'utiliser les destructeurs d'une structure . Au lieu de cela , l'objet de garbage collector dispose de structures automatiquement .
Héritage
types de référence , les classes peuvent hériter d' autres classes. Cela signifie que vous pouvez créer une classe de " garçon " qui hérite de tous les objets et les propriétés d'une classe de «personne ». À son tour, la classe personne peut hériter les membres de la classe " créature " . Structures , en revanche, ne peuvent hériter d'autres structures . Par conséquent, ils sont intrinsèquement scellés.