Saltar al contenido

¿Cuál es la diferencia entre Tipo y Clase?

Este dilema se puede abordar de variadas formas, pero en este caso te dejamos la solución más completa para nosotros.

Solución:

La siguiente respuesta es del libro Gof (Patrones de diseño)

de un objeto clase define cómo se implementa el objeto. La clase define el estado interno del objeto y la implementación de sus operaciones.

Por el contrario, un objeto
escribe solo se refiere a su interfaz, un conjunto de solicitudes a las que puede responder.

Un objeto puede tener muchos tipos y objetos de diferentes clases pueden tener el mismo tipo.

//example in c++
template 
const T & max(T const & a,T const &b)

return a>b?a:b;  //> operator of the type is used for comparison

La función max requiere un tipo con operación > con su propio tipo como una de sus interfaces, cualquier clase que satisfaga el requisito anterior se puede usar para generar una función máxima específica para esa clase.

Siempre pienso en un ‘tipo’ como un término general para ‘clases’ y ‘primitivos’.

int foo; // Type is int, class is nonexistent.

MyClass foo; // Type is MyClass, class is MyClass

Inspirado en Wikipedia…

En teoría de tipos términos;

  • A escribe es una interfaz abstracta.
    Los tipos generalmente representan sustantivos, como una persona, lugar o cosa, o algo nominalizado,

  • A clase representa una implementación del tipo.
    Es una estructura de datos concreta y una colección de subrutinas.

    Diferentes clases concretas pueden producir objetos del mismo tipo abstracto (dependiendo del sistema de tipos).

    * Por ejemplo, se podría implementar el escribeStack con dos clases: SmallStack (rápido para pilas pequeñas, pero escala mal) y ScalableStack (escala bien pero tiene una sobrecarga alta para pilas pequeñas).*

    De manera similar, una clase dada puede tener varios constructores.

ingrese la descripción de la imagen aquí

El ejemplo del plátano.

  • A Bananaescribe representaría las propiedades y funcionalidad del banano en general.

  • los ABCBanana y XYZBananaclases representaría formas de producir banano.
    (Distintos proveedores de bananas en la vida real, o diferentes estructuras de datos y funciones para representar y dibujar bananas en un videojuego).

    los ABCBanana clase podría entonces producir plátanos particulares que son
    instancias del ABCBananaclaseEllos serian objetos de escribe Banana.

No es raro que el programador proporcione una implementación única para un tipo. En este caso el clase El nombre suele ser idéntico al escribe un nombre. Pero todavía hay un tipo (que podría extraerse en una interfaz si es necesario) y una implementación (que implementaría la interfaz separada) que crea instancias (objetos) de la clase.

Si tienes alguna perplejidad o capacidad de reaccionar nuestro crónica te insinuamos realizar una interpretación y con deseo lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *