Tabla de contenido:
- Definición - ¿Qué significan los miembros de la Clase?
- Techopedia explica a los miembros de la clase
Definición - ¿Qué significan los miembros de la Clase?
Los miembros de la clase, en C #, son los miembros de una clase que representan los datos y el comportamiento de una clase.
Los miembros de la clase son miembros declarados en la clase y todos aquellos (excluyendo constructores y destructores) declarados en todas las clases en su jerarquía de herencia.
Los miembros de la clase pueden ser de los siguientes tipos:
- Constantes que representan valores constantes
- Campos que representan variables
- Métodos que brindan servicios como cálculo u otras acciones a sus miembros
- Propiedades que definen las características de la clase e incluyen acciones para recuperarlas y modificarlas.
- Eventos generados para comunicarse entre diferentes clases / objetos
- Indizadores que ayudan a acceder a instancias de clase similares a las matrices
- Operadores que definen la semántica cuando se usan en expresiones con instancias de clase
- Constructores de instancias para inicializar miembros de instancias de clase
- Constructor estático para inicializar la clase en sí.
- Destructores para ejecutar las acciones necesarias para realizar antes de descartar las instancias de clase
- Tipos que son locales a la clase (tipo anidado)
Los miembros de la clase se pueden especificar individualmente con cualquiera de las siguientes opciones de accesibilidad:
- Público: accesible por cualquier código dentro del ensamblaje actual o externo
- Protegido: accesibilidad dentro de la misma clase o su clase derivada
- Privado: accesibilidad dentro de la misma clase
- interna - accesibilidad dentro del ensamblaje actual
- interna protegida - accesibilidad dentro del ensamblaje actual o clases derivadas de contener clase
A diferencia de Java, donde el nivel de accesibilidad predeterminado de un miembro de la clase es público, es privado en C #.
Techopedia explica a los miembros de la clase
Los miembros de la clase se inicializan en constructores que se pueden sobrecargar con diferentes firmas. Para las clases que no tienen constructor, se generará un constructor predeterminado que inicializa los miembros de la clase (a los valores predeterminados).
A diferencia de C ++, C # permite que una clase herede solo de una clase base. Sin embargo, una clase puede derivar de múltiples interfaces, pero todos los miembros de la interfaz deben implementarse. Estos miembros de las interfaces de implementación de clase tienen visibilidad pública por defecto y no pueden tener otros modificadores de acceso.
Todos los miembros de la clase base, excepto los constructores, se heredan en la clase derivada. Los miembros de la clase derivados pueden ocultar el miembro de la clase base para el que se debe usar la palabra clave 'nueva' para indicar que el miembro base no se anula y evitar advertencias del compilador.
Un miembro de clase estática es un miembro de clase estática (que no puede ser instanciada ni heredada) a la que solo se puede acceder utilizando el nombre de clase. A diferencia del miembro de instancia, tiene una copia del miembro estático que se inicializa antes de acceder por primera vez y antes de su constructor estático (si lo hay).
Los miembros de la clase abstracta evitan la creación de instancias directas y deben implementarse en una clase derivada para que se pueda utilizar. Para evitar que una clase o miembros de la clase hereden, la clase o sus miembros se pueden declarar como 'sellados'. Los miembros de la clase se pueden usar como constantes de 'tiempo de compilación' usando el modificador 'const' y como constantes de tiempo de ejecución usando el modificador 'readonly'.
Al declarar miembros de la clase en un nuevo espacio de declaración, se aplican las siguientes reglas:
- A excepción de los constructores y destructores, todos los demás miembros deben tener un nombre diferente del nombre de la clase
- Los nombres de constante, campo, propiedad, evento o tipo deben ser únicos dentro de la clase
- Se pueden declarar varios métodos con el mismo nombre, pero deben diferir en su firma
- La firma del indexador y el operador deben ser únicos entre los declarados dentro de la clase
- El miembro de la clase no puede tener firmas reservadas que son nombres de miembros reservados para propiedades, eventos, indexador y 'Finalizar'
- El tipo de miembro, el parámetro y el valor de retorno de un método, delegado o indexador deben ser accesibles como el miembro mismo
- Los operadores definidos por el usuario deben tener un nivel de accesibilidad como público