Clases vs estructuras
Algunos de los conceptos principales de los lenguajes de programación orientados a objetos (OO) son encapsulación, herencia y polimorfismo. Clase y Estructura son dos de las construcciones / herramientas de OO, que ayudan a los programadores a lograr estos conceptos dentro de la mayoría de los lenguajes de programación OO existentes (Java no proporciona estructuras). Las clases son una representación abstracta de objetos del mundo real. Las estructuras son muy similares a las clases con un uso similar, pero tienen pocas limitaciones en comparación con las clases. Tanto las clases como la estructura se utilizan para agrupar tipos de datos similares.
¿Qué son las clases?
Las clases representan la representación abstracta de objetos del mundo real, mientras que las relaciones representan cómo cada clase está conectada con otras. Tanto las clases como las relaciones tienen propiedades llamadas atributos. Los métodos de las clases representan o definen el comportamiento de estas clases. Los métodos y atributos de las clases se denominan miembros de la clase. Por lo general, la encapsulación se logra haciendo que los atributos sean privados, mientras se crean métodos públicos que se pueden usar para acceder a esos atributos. Un objeto es la instancia de una clase. La herencia permite al usuario extender clases (llamadas subclases) de otras clases (llamadas superclases). El polimorfismo permite al programador sustituir un objeto de una clase en lugar de un objeto de su superclase. Normalmente, los sustantivos que se encuentran en la definición del problema se convierten directamente en clases en el programa. Y de manera similar,los verbos se convierten en métodos. Público, privado y protegido son los modificadores de acceso típicos utilizados para las clases. Un diagrama de clases muestra las clases de los sistemas, las relaciones entre las clases y sus atributos.
¿Qué son las estructuras?
Como se mencionó anteriormente, las estructuras son muy similares a las clases con un uso similar, pero son capacidades ligeramente limitadas que las clases. De hecho, las clases pueden considerarse una extensión de las estructuras. Por ejemplo, las estructuras son las mismas que las clases en C ++, pero tienen miembros públicos por defecto. El usuario puede definir una estructura para representar un tipo compuesto. Al igual que las clases, las estructuras contienen miembros que pueden pertenecer a muchos tipos. La palabra clave struct se usa para definir una estructura en C y C ++, mientras que la palabra clave Structure se usa para lo mismo en los lenguajes de programación. NET.
¿Cuál es la diferencia entre clases y estructuras?
Aunque tanto las clases como las estructuras son construcciones similares que se encuentran en los lenguajes de programación, tienen diferencias sutiles. Normalmente, la clase es una extensión de la estructura y, por lo tanto, las estructuras tienen algunas limitaciones relativas. Por ejemplo, las estructuras se pueden considerar lo mismo que las clases en C ++, pero los miembros no son públicos por defecto en las clases (a diferencia de las estructuras). En realidad, esto significa que puede definir una clase y una estructura con exactamente las mismas características utilizando los modificadores de acceso adecuados en C ++. Sin embargo, en C, las estructuras no pueden contener funciones u operaciones sobrecargadas. Las palabras clave clase y estructura se utilizan para definir una clase y una estructura en C ++, respectivamente. Cuando se trata de lenguajes. NET (C #, VB. NET, etc.), la clase es un tipo de referencia, mientras que la estructura es un tipo de valor. Y normalmentelas estructuras se utilizan para objetos más pequeños, pero las clases se utilizan para objetos más grandes que se mantienen en la memoria durante períodos más largos.