Membros da classe

Definição - o que significa membros da classe?

Os membros da classe, em C #, são os membros de uma classe que representam os dados e o comportamento de uma classe.

Os membros da classe são membros declarados na classe e todos aqueles (excluindo construtores e destruidores) declarados em todas as classes em sua hierarquia de herança.

Os membros da classe podem ser dos seguintes tipos:

  • Constantes que representam valores constantes
  • Campos que representam variáveis
  • Métodos de prestação de serviços como cálculos ou outras ações em seus membros
  • Propriedades que definem os recursos da classe e incluem ações para buscá-los e modificá-los
  • Eventos gerados para comunicação entre diferentes classes / objetos
  • Indexadores que ajudam a acessar instâncias de classe semelhantes a matrizes
  • Operadores que definem a semântica quando usados ​​em expressões com instâncias de classe
  • Construtores de instância para inicializar membros de instâncias de classe
  • Construtor estático para inicializar a própria classe
  • Destruidores para executar ações necessárias a serem realizadas antes que as instâncias de classe sejam descartadas
  • Tipos que são locais para a classe (tipo aninhado)

Os membros da classe podem ser especificados individualmente com qualquer uma das seguintes acessibilidades:

  • Público - acessível por qualquer código dentro do assembly atual ou externo
  • Protegido - acessibilidade dentro da mesma classe ou sua classe derivada
  • Privado - acessibilidade dentro da mesma classe
  • interna - acessibilidade dentro da montagem atual
  • protegido interno - acessibilidade dentro do conjunto atual ou classes derivadas da classe contida

Ao contrário do Java, onde o nível de acessibilidade padrão de um membro da classe é público, ele é privado em C #.

Definirtec explica os membros da classe

Os membros da classe são inicializados em construtores que podem ser sobrecarregados com diferentes assinaturas. Para classes que não têm construtor, um construtor padrão que inicializa os membros da classe (para valores padrão) será gerado.

Ao contrário do C ++, C # permite que uma classe herde de apenas uma classe base. No entanto, uma classe pode derivar de várias interfaces, mas todos os membros da interface devem ser implementados. Esses membros da (s) interface (s) de implementação de classe têm visibilidade pública por padrão e não podem ter outros modificadores de acesso.

Todos os membros da classe base, exceto os construtores, são herdados na classe derivada. Os membros da classe derivada podem ocultar o membro da classe base para o qual a palavra-chave 'new' deve ser usada para indicar que o membro base não foi substituído e evitar avisos do compilador.

Um membro de classe estática é um membro de classe estática (que não pode ser instanciado nem herdado) que pode ser acessado apenas usando o nome da classe. Ao contrário do membro da instância, ele tem uma cópia do membro estático que é inicializado antes de ser acessado pela primeira vez e antes de seu construtor estático (se houver).

Os membros da classe abstrata evitam a instanciação direta e devem ser implementados na classe derivada para que sejam usados. Para evitar que uma classe ou seus membros herdem, a classe ou seus membros podem ser declarados como 'selados'. Os membros da classe podem ser usados ​​como constante de 'tempo de compilação' usando o modificador 'const' e como constantes de tempo de execução usando o modificador 'somente leitura'.

Ao declarar os membros da classe em um novo espaço de declaração, as seguintes regras se aplicam:

  • Exceto para construtores e destruidor, todos os outros membros precisam ter nomes diferentes do nome da classe
  • Os nomes de constante, campo, propriedade, evento ou tipo devem ser únicos dentro da classe
  • Vários métodos podem ser declarados com o mesmo nome, mas devem diferir em suas assinaturas
  • A assinatura do indexador e do operador deve ser única entre as declaradas na classe
  • O membro da classe não pode ter assinaturas reservadas que são nomes de membros reservados para propriedades, eventos, indexador e 'Finalizar'
  • Tipo de membro, parâmetro e valor de retorno de um método, delegado ou indexador deve ser acessível como o próprio membro
  • Operadores definidos pelo usuário devem ter nível de acessibilidade como público

Esta definição foi escrita no contexto de C #