los diferencia clave entre el campo y la propiedad en C # es que un campo es una variable de cualquier tipo que se declara directamente en la clase mientras que la propiedad es un miembro que proporciona un mecanismo flexible para leer, escribir o calcular el valor de un campo privado.
C # es un lenguaje de programación moderno desarrollado por Microsoft. Es un lenguaje de programación de propósito general. La interfaz de lenguaje común (CLI) consta de un entorno de ejecución y los archivos ejecutables. C # es un lenguaje construido en .NET Framework. Proporciona recolección automática de basura, delegados, Language Integrated Query (LINQ), etc. para escribir programas de manera fácil y rápida. Una de las principales ventajas de C # es que admite la programación orientada a objetos (OOP). Ayuda a construir un programa o un software usando objetos. En un sistema, hay muchos objetos, y sus objetos pasan mensajes utilizando métodos. Campo y Propiedad son dos términos asociados con la POO. Este artículo analiza la diferencia entre el campo y la propiedad en C #.
1. Resumen y diferencia clave
2. ¿Qué es el campo en C #
3. ¿Qué es la propiedad en C #
4. Relación entre Campo y Propiedad en C #
5. Comparación lado a lado - Campo vs propiedad en C # en forma tabular
6. Resumen
Cada objeto tiene características y comportamientos. Las características se describen por los campos y los comportamientos se describen por los métodos. Un objeto Empleado puede tener campos como el número de empleado, nombre y departamento.
Figura 01: Programa con campos públicos.
Según lo anterior, el triángulo es una clase. Contiene tres campos públicos, que son base1, altura1 y área. El constructor puede asignar los valores para base1 y height. En el método principal, se crea un objeto de Triángulo. Se llama t1, y dos valores se pasan a la base y la altura. El constructor en la clase Triángulo asigna esos valores a los campos. Luego, en el método principal, se llama el método calArea. Calculará el área del triángulo y asignará la respuesta al campo del área. Finalmente, el método de visualización llamará y mostrará la respuesta en la pantalla..
Un pilar principal de la OOP es la encapsulación. Permite compactar los campos y métodos en una sola unidad. La encapsulación se utiliza para proteger los datos. Los especificadores de acceso se pueden utilizar para cambiar la visibilidad de los campos y métodos. Se puede acceder a los miembros públicos fuera de la clase. Los miembros privados son accesibles solo dentro de la clase. Para limitar la accesibilidad solo a la clase, los campos se pueden hacer privados. La configuración y obtención de valores se puede hacer con métodos públicos..
Figura 02: Programa con campos privados.
Según el programa anterior, el Triángulo es una clase. Hay campos llamados base1 y height1. Son campos privados. En el método principal, se crea un objeto de Triángulo. El método de detalles se llama en la instancia de Triangle. Los valores para la base1 y la altura1 son aceptados por el método de detalles. Esos valores ganados se asignan a los campos base1 y height1. En el método principal, el método calArea se llama en el objeto t1. Calcula el área. Finalmente, el método de visualización imprime el área del triángulo. Los campos son privados, pero son accesibles por los métodos públicos..
Las propiedades no tienen ubicaciones de almacenamiento. Las propiedades tienen accesores que contienen las instrucciones ejecutables para leer los valores y establecer los valores. Las declaraciones del descriptor de acceso pueden contener un descriptor de acceso de obtención y un descriptor de acceso de conjunto. Supongamos que hay un nombre de clase Empleado y que contiene los campos privados, como el número de empleado, el nombre y el departamento. No se puede acceder a estos campos desde fuera de la clase directamente. Por lo tanto, el programador puede usar propiedades para establecer y obtener valores. Por lo tanto, las propiedades se pueden utilizar para acceder a los campos privados..
La declaración de la propiedad de nombre de tipo String es la siguiente. La palabra clave 'valor' se refiere al valor asignado.
Nombre de la cadena pública
obtener nombre de retorno;
establecer nombre = valor;
Consulte el siguiente programa,
Figura 03: programa C # con propiedades
La clase Employee tiene dos campos privados que son id y name. El ID y el Nombre son propiedades. El valor de id se establece y se obtiene utilizando el ID de propiedad. El valor del nombre se establece y se obtiene utilizando la propiedad Nombre. En el método principal, se crea un objeto de empleado. El acceso a los campos de ID privado y nombre privado de la clase Empleado se realiza mediante las propiedades. Finalmente, los valores se muestran en la pantalla..
Campo vs Propiedad en C # | |
Un campo es una variable de cualquier tipo que se declara directamente en una clase. | Una propiedad es un miembro que proporciona un mecanismo flexible para leer, escribir o calcular el valor de un campo privado. |
Uso | |
Se puede usar un campo para explicar las características de un objeto o una clase. | Se puede usar una propiedad para establecer y recibir valores de un campo. |
En OOP, el programa o el software se pueden modelar utilizando objetos. Los objetos se crean utilizando clases. Una clase es un plano para crear objetos. Los campos y las propiedades son dos términos utilizados en C # OOP. Este artículo discutió la diferencia entre el campo y la propiedad en C #. La diferencia entre el campo y la propiedad en C # es que un campo es una variable de cualquier tipo que se declara directamente en la clase, mientras que la propiedad es un miembro que proporciona un mecanismo flexible para leer, escribir o calcular el valor de un campo privado.
1. "Campos (Guía de programación C #)". Documentos de Microsoft. Disponible aquí
2. "Propiedades (Guía de programación C #)". Documentos de Microsoft. Disponible aquí
3. "Propiedades de C # - Javatpoint"., JavaTPoint. Disponible aquí
4. "Clases de C #"., Punto de tutoriales, 19 de marzo de 2018. Disponible aquí
5. "Propiedades de C #"., Punto de tutoriales, 19 de marzo de 2018. Disponible aquí