Miembros de la clase

Definición: ¿Qué significa 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 sobre 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
  • Indexadores que ayudan a acceder a instancias de clases 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 propia clase
  • Destructores para ejecutar las acciones necesarias antes de que se descarten 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 mediante 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
  • interno protegido: accesibilidad dentro del ensamblado actual o clases derivadas de la clase contenedora

A diferencia de Java, donde el nivel de accesibilidad predeterminado de un miembro de la clase es público, es privado en C #.

Techinfo explica a los miembros de la clase

Los miembros de la clase se inicializan en constructores que pueden sobrecargarse 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 la (s) clase (s) de implementación (s) 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 derivada 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 está anulado y evitar las advertencias del compilador.

Un miembro de la clase estática es un miembro de la clase estática (que no se puede instanciar ni heredar) a la que solo se puede acceder utilizando el nombre de la clase. A diferencia del miembro de instancia, tiene una copia del miembro estático que se inicializa antes de que se acceda a él por primera vez y antes de su constructor estático (si lo hay).

Los miembros de la clase abstracta evitan la instanciación directa y deben implementarse en la clase derivada para que se pueda utilizar. Para evitar que una clase o sus miembros hereden, la clase o sus miembros pueden declararse como 'sellados'. Los miembros de la clase se pueden usar como constantes en 'tiempo de compilación' usando el modificador 'const' y como constantes en 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 el destructor, todos los demás miembros deben tener un nombre diferente al 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 del operador debe ser única entre las declaradas dentro de la clase
  • Los miembros de la clase no pueden tener firmas reservadas que son nombres de miembros reservados para propiedades, eventos, indexador y 'Finalizar'
  • El tipo de miembro, parámetro y valor de retorno de un método, delegado o indexador debe ser accesible como el propio miembro
  • Los operadores definidos por el usuario deben tener un nivel de accesibilidad como público

Esta definición se escribió en el contexto de C #