Clases vs Estructuras
Algunos de los conceptos principales de los lenguajes de programación orientados a objetos (OO) son la encapsulación, la herencia y el polimorfismo. Class y Structure son dos de las construcciones / herramientas 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. Ambas clases y estructura se utilizan para agrupar tipos de datos similares, juntos.
Que son las clases?
Las clases representan la representación abstracta de los objetos del mundo real, mientras que las relaciones representan cómo cada clase está conectada con otras. Ambas clases y relaciones tienen propiedades llamadas atributos. Los métodos en las clases representan o definen el comportamiento de estas clases. Los métodos y atributos de las clases se llaman los miembros de la clase. Normalmente, la encapsulación se logra al hacer 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 le permite al usuario extender las clases (llamadas subclases) de otras clases (llamadas súper clases). El polimorfismo permite al programador sustituir un objeto de una clase en lugar de un objeto de su superclase. Normalmente, los nombres encontrados 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 clase muestra las clases de los sistemas, las relaciones entre clases y sus atributos..
Que son las estructuras?
Como se mencionó anteriormente, las estructuras son muy similares a las clases con un uso similar, pero tienen capacidades ligeramente limitadas que las clases. De hecho, las clases pueden considerarse como una extensión de las estructuras. Por ejemplo, las estructuras son las mismas que las clases en C ++, pero tienen miembros públicos de forma predeterminada. El usuario puede definir una estructura para representar un tipo que es compuesto. Similar a 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 la misma en lenguajes de programación .NET.
¿Cuál es la diferencia entre clases y estructuras??
Aunque ambas clases y 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 pueden considerarse lo mismo que las clases en C ++, pero los miembros no son públicos por defecto en las clases (a diferencia de en 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 apropiados en C ++. Sin embargo, en C, las estructuras no pueden contener ninguna función u operación sobrecargada. Las palabras clave class y struct 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 generalmente, las estructuras se usan para objetos más pequeños, pero las clases se usan para objetos más grandes que se mantienen en la memoria por períodos más largos.