201 votes

Quelle est la différence entre le Type et la classe ?

Ce qui différencie un type de classe et vice versa ?

(Dans le sens général de l’indépendant de la langue)

146voto

yesraaj Points 12759

La réponse suivante est de Gof livre (Design Patterns )

Un des objets de la classe définit la façon dont le objet est mis en œuvre .La classe définit l'objet interne de l'état et la mise en œuvre de ses les opérations.

En revanche, les objets de le type ne se réfère qu'à son interface -la ensemble de demandes auxquelles il peut répondre.

Un objet peut avoir plusieurs type, et l'objet de différentes classes peuvent avoir le même type.

//example in c++
template<typename T> 
const T & max(T const & a,T const &b)
{
return a>b?a:b;  //> operator of the type is used for comparision
}

max fonction nécessite un type de fonctionnement > avec son propre type comme l'un de l'interface de n'importe quelle classe qui satisfait à la condition ci-dessus peut être utilisé pour générer spécifique de la fonction max pour la classe.

66voto

Eddie Parker Points 2522

Je considère toujours un « type » comme un terme générique désignant les « classes » et « primitives ».

``

``

64voto

mins Points 629

Inspiré par Wikipédia...

En théorie des types de conditions;

  • Un type est une interface abstraite.
    Types représentent généralement des noms, comme une personne, un lieu ou une chose, ou quelque chose nominalized,

  • Une classe représente une mise en œuvre de ce type.
    C'est un béton de structure de données et la collecte des sous-routines

    Différentes classes de béton peuvent produire des objets de même type abstrait (selon le type de système).

    *Par exemple, on peut mettre en œuvre le type d' Stack avec deux classes: SmallStack (rapide pour les petites piles, mais les échelles de mal) et ScalableStack (échelles, mais bien de surcharge élevée pour les petites piles).*

    De même, une classe peut avoir plusieurs constructeurs.

enter image description here

L'exemple de la banane.

  • Un Banana type représentent les propriétés et les fonctionnalités de bananes en général.

  • L' ABCBanana et XYZBanana classes représentent des modes de production de bananes.
    (Les différents fournisseurs de bananes dans la vraie vie, ou de différentes structures de données et les fonctions de représenter et de dessiner les bananes dans un jeu vidéo).

    L' ABCBanana de la classe peut alors produire des particulier les bananes qui sont les instances de l' ABCBanana classe, ils seraient des objets de type Banane.

Il n'est pas rare que le programmeur ne fournir qu'une seule et seule la mise en œuvre d'un type. Dans ce cas, la classe nom est souvent identique avec le nom du type. Mais il y a toujours un type (qui pourrait être extraite dans une interface si nécessaire), et une mise en œuvre (ce qui permettrait de mettre en œuvre l'interface séparée) qui construit les instances (objets) de la classe.

19voto

Lonzo Points 1280

Le type est le terme générique pour tous les modèles d’objet disponibles ou les concepts. Une classe est un tel modèle d’objet. Ainsi est le type de structure, de type Integer, le type d’Interface, etc.. Ce sont tous les types

Si vous le souhaitez, vous pouvez regarder elle de cette façon : un type est le concept de parent. Tous les autres concepts : classe, Interface, Structure, entier, etc. héritent de cette concept.i.e, ils sont de types

4voto

aku Points 54867

Type contient la description des données (c'est à dire les propriétés, opérations, etc),

La classe est un type spécifique - c'est un modèle pour créer des instances d' objets.

Strictement parlant, la classe est un concept, il peut être considéré comme un colis contenant des sous-ensemble de métadonnées décrivant certains aspects d'un objet.

Par exemple en C#, vous pouvez trouver des interfaces et des classes. Deux d'entre eux sont des types, mais l'interface n'est possible de définir un contrat et ne peut pas être instancié à la différence de classes.

Il suffit de parler de classe est un type spécialisé utilisé pour encapsuler les propriétés et le comportement d'un objet.

Wikipedia peut vous donner une réponse plus complète:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X