La mayoría de los programadores saben que un programa de ordenador no es más que los datos y las instrucciones para la manipulación de datos contiene . Su objetivo , como un programador , es para representar los datos en la estructura más eficiente y ligero posible . Los dos "clases" y " estructuras " le permiten representar los diferentes tipos de datos. Muchos idiomas tienen dos clases y estructuras , incluyendo C + + , C #, Java y Visual Basic . ( Algunos idiomas se refieren a una estructura como un " struct . " ) Puede crear instancias de ambas clases y estructuras en la forma convencional y acceso a los miembros de tanto el uso de la notación de punto - punto , pero las diferencias entre los dos tipos de datos mayores que estas pocas similitudes . Finalidad
clases forman la base de los más modernos lenguajes orientados a objetos y permiten la manipulación sin fin. Cuando se utiliza una clase para representar sus datos, usted tiene todo el poder de un lenguaje de programación orientado a objetos a su disposición. Hacer una clase de su tipo de datos predeterminado y utilizarlo cuando no estás seguro de qué tipo de valor trabaja mejor . Utilice una estructura , por el contrario, sólo cuando necesita manipular un número determinado de valores de tipo no son de referencia como una unidad. Los programadores suelen utilizar estructuras para representar objetos geométricos , puntuaciones de juegos y otros datos relativamente simple.
Subyacente Otro Venta
Una estructura es un tipo de valor , mientras que una clase es una referencia tipo. Los tipos de valor representan números y texto , y sólo existen en la pila. Esto significa que si se copia una estructura , se crea un nuevo elemento en la memoria. Modificaciones en el nuevo objeto no afectan al objeto original . Los tipos de referencia , por el contrario , existen tanto en la pila y el montón . Cuando se copia una clase, usted es realmente sólo copiar la dirección de referencia a una ubicación de memoria en el montón. Así que cuando se modifica una copia de un objeto, también modificar todas las copias en la memoria.
Destructores
Dependiendo del idioma que está utilizando, que a menudo puede utilizar destructores de objetos de clase . En C + + , así como en la programación ADO.Net , destructores permiten asegurar que el procesador destruye objetos de uso intensivo de memoria tan pronto como ya no son necesarios . Sin embargo , muchos lenguajes de programación , como C # , no le permiten utilizar destructores de estructura . En su lugar , el objeto recolector de basura dispone de estructuras de forma automática.
Herencia
tipos de referencia , las clases pueden heredar de otras clases. Esto significa que puede crear una clase de " niño " que hereda todos los objetos y propiedades de una clase de "persona" . A su vez , la clase de persona puede heredar a los miembros de la clase "criatura " . Estructuras , por el contrario , no pueden heredar de otras estructuras. En consecuencia, están intrínsecamente sellados.