[Noções básicas sobre .net de programação orientada a objetos] (9) Membros da classe (campos, propriedades, métodos)

Este artigo é transferido de: https://www.cnblogs.com/yubinfeng/p/4552717.html

A classe de Pessoa definida acima inclui membros: campos, atributos, métodos, eventos etc. Além disso, as classes aninhadas mencionadas acima também são membros da classe. 

  Os membros da classe são divididos em: membros estáticos (estáticos) e membros não estáticos 

  b. Membros estáticos são marcados com estático, se não marcado, o padrão é membros não estáticos 

  c) Membros estáticos pertencem à classe, membros dinâmicos pertencem à instância, ou seja, o objeto 

  O membro estático é compartilhado por todas as instâncias da classe.Não importa quantas instâncias ou cópias da classe, o membro estático ocupa apenas uma área do armazenamento. Membros não estáticos criam um domínio de memória em cada instância da classe.    

 

A seguir, explicamos principalmente os principais membros da classe: campos, atributos, métodos 

 

1. Membros do campo de classe 

   Declaração de campo: (estático / somente leitura) <Tipo> <nome da variável>    

   a) Pode ser entendida como uma variável privada da classe, que geralmente é privada. 

   b) A definição do campo geralmente começa com uma letra minúscula ou "_". 

   c) Existem dois tipos de modificadores de declaração de campo: estático (estático) e somente leitura (somente leitura). 

   O campo d é geralmente privado, portanto, modificadores de acesso geralmente não são necessários. 

   Exemplos:     

1 estático int eyesCount = 2; 
2 somente leitura int earsCount = 2;  

  

2. Membros das propriedades da classe 

   a) Pode ser entendida como uma variável pública da classe, geralmente toda pública (pública) 

   b) O atributo tem dois métodos, get e set. 

   O acessador c.get retorna os mesmos dados que o tipo de declaração de atributo, o que significa que ele pode obter o valor ou a referência do campo interno quando chamado. 

   O acessador d.set não exibe os parâmetros configurados, possui um valor implícito de parâmetro, cuja função é atribuir valores a campos internos ou referências da propriedade quando é chamada. 

   Como os membros da classe são privados por padrão, como o atributo é público, no processo de desenvolvimento orientado a objetos, você deve usar o modificador public para declarar um atributo como público. 

   Os atributos podem ignorar os acessadores get ou set, mas não os dois. 

   Exemplos:     

Copiar código
1 string _country; 
 2 // atributo de leitura e gravação 
 3 string pública País 
 4 { 
 5 set {_country = value;} 
 6 get {return _country;} 
 7} 
 8 // atributo somente leitura 
 9 string pública CountryOnleread 
10 { 
11 get {return _country ;} 
12}         
13 // escreve apenas o atributo 
14 string pública Countryonlywrite 
15 { 
16 set {_country = value;} 
17}
Copiar código

 

6. Membros dos métodos de classe (método) 

      Declaração: (modificador de acesso) <tipo> <nome do método> {corpo do método} 

     Chamada: [<nome da classe.>] | [<Nome do objeto da instância.>] <Nome do método> ([<lista de parâmetros real>]) 

     Definição: é um membro da classe usada para executar cálculos ou outros comportamentos.

 

Métodos estáticos: os
     métodos são divididos em métodos de instância e métodos estáticos (iguais aos membros da classe mencionados anteriormente) 

     Apenas campos estáticos podem ser chamados em métodos estáticos, campos não estáticos não são permitidos 

Parâmetros do método:

      Parâmetro de valor : sem nenhum modificador. O parâmetro formal no método é uma cópia do parâmetro real.A alteração do parâmetro formal não afetará o valor do parâmetro real na memória.O parâmetro atual é seguro. 

     Parâmetros de referência : declarados com o modificador ref. 

    A palavra-chave ref faz com que os parâmetros sejam passados ​​por referência. O efeito é que, quando o controle é passado de volta ao método de chamada, quaisquer alterações feitas nos parâmetros do método serão refletidas na variável.
    Para usar o parâmetro ref, a definição do método e o método de chamada devem usar explicitamente a palavra-chave ref.
    Os parâmetros passados ​​para o parâmetro ref devem ser inicializados primeiro. Isso é diferente de out, os parâmetros de out não precisam ser inicializados explicitamente antes de serem passados.
    Os atributos não são variáveis, portanto, não podem ser passados ​​como parâmetros ref.
    Embora ref e out sejam tratados diferentemente no tempo de execução, eles são tratados da mesma forma no tempo de compilação. Portanto, se um método usa o parâmetro ref e o outro método usa o parâmetro out, você não pode sobrecarregar esses dois métodos. Por exemplo, de uma perspectiva de compilação, os dois métodos no código a seguir são idênticos. Se você tentar fazer isso, o código não será compilado.
    Se um método usa parâmetros ref ou out e o outro método não usa esses dois tipos de parâmetros, ele pode ser sobrecarregado.

   Exemplo de código: 

Copiar código
// Chama 
números double [] = new double [] {1, 2, 3, 5.5}; 
double i = 0; 
MyAddOperation (números, ref i);             
Console.WriteLine ("2 vezes o resultado do cálculo é: {0} ", i * 2); 
Console.ReadLine (); 

// Referência parâmetro método declaração 
public static void MyAddOperation (números duplos [], ref resultado duplo) 
{ 
    resultado = 0; 
    foreach (número numérico duplo) 
        resultado + = número; 
    Console.WriteLine ("O resultado do cálculo é: {0}", resultado); 
}
Copiar código

  

 Parâmetros de saída : declarados com o modificador out. Semelhante à ref, também opera diretamente nos parâmetros reais. A palavra-chave out deve ser especificada explicitamente na declaração e na invocação do método. O método de declaração de parâmetro out não requer que variáveis ​​sejam inicializadas antes de serem passadas para o método, porque seu significado é usado apenas para fins de saída. No entanto, antes que o método retorne, o parâmetro out deve ser atribuído. 
A palavra-chave out faz com que os parâmetros sejam passados ​​por referência. Isso é semelhante à palavra-chave ref. 


As diferenças de ref: 
ref requerem que as variáveis ​​sejam inicializadas antes de serem passadas. 
Embora as variáveis ​​passadas como parâmetros de saída não precisem ser inicializadas antes de serem passadas, os métodos precisam ser chamados para atribuir valores antes que o método retorne. 

Exemplos: 

Copiar código
1 // Ligue para 
 2 números duplos [] = novo duplo [] {1, 2, 3, 5.5}; 
 3 duplos i = 0; 
 4 MyAddOperation (números, out i);             
 5 Console.WriteLine ("2 vezes o resultado do cálculo Sim: {0} ", i * 2); 
 6 Console.ReadLine (); 
 7 
 8 // Declaração do método do parâmetro de saída 
 9 public static void MyAddOperation (números duplos [], resultado duplo) 
10 { 
11 resultado = 0; 
12 foreach (número duplo em números) 
13 resultado + = número; 
14 Console.WriteLine ("O resultado do cálculo é: {0}", resultado); 
15}
Copiar código

 

 Parâmetros de matriz : declarados com o modificador de parâmetros. A palavra-chave params é usada para declarar uma lista de parâmetros de comprimento variável. Somente um parâmetro params pode ser incluído na declaração do método. O parâmetro params é muito útil quando o número de parâmetros é variável, consulte o seguinte exemplo:

 

Copiar código
1 // Chame o método 
 2 double [] numbers = new double [] {1, 2, 3, 5.5}; 
 3 Console.WriteLine ("O resultado do cálculo é: {0}", MyAddOperation (numbers)); 
 4 
 5 // Declaração de parâmetro do tipo de matriz 
 6 public static double MyAddOperation (parâmetros duplos [] números) 
 7 { 
 8 resultado duplo = 0; 
 9 foreach (número numérico duplo) 
10 resultado + = num; 
11 resultado de retorno; 
12}
Copiar código

 

Método virtual (método virtual) 

     A palavra-chave virtual é usada para modificar métodos na classe base. Existem duas situações para o uso do virtual:  

    Caso 1: O método virtual é definido na classe base, mas o método virtual não é substituído na classe derivada. Em seguida, na chamada para a instância da classe derivada, o método virtual usa o método definido pela classe base. 

    Caso 2: Um método virtual é definido na classe base e, em seguida, substitui-o na classe derivada usando override. Em seguida, na chamada para uma instância de uma classe derivada, o método virtual usa um método de substituição derivado. 

Método abstrato (método abstrato) 

     A palavra-chave abstract pode ser usada apenas para modificar métodos em classes abstratas e não há implementação específica. A implementação de métodos abstratos deve ser implementada usando a palavra-chave override na classe derivada. 

(Sobre a classe abstrata será explicada em detalhes mais adiante)

 

Pontos-chave: 

1. Apenas campos estáticos podem ser chamados em métodos estáticos, campos não estáticos não são permitidos 

2. Método sem valor de retorno, digite void  

Acho que você gosta

Origin www.cnblogs.com/hanguoshun/p/12728358.html
Recomendado
Clasificación