-
Qual é o nome do parâmetro implícito passado para o método set de uma propriedade?
valor, cujo tipo é igual ao tipo declarado da propriedade.
Como implementar herança em C#?
Adicione dois pontos após o nome da classe, seguido do nome da classe base.
C# oferece suporte a herança múltipla?
Não suportado. Isso pode ser conseguido usando interfaces.
Onde as propriedades/métodos protegidos podem ser acessados?
Pode ser acessado por herança ou herança indireta e subclasses desta classe.
Os membros privados serão herdados?
Sim, mas não pode ser acessado. Portanto, parece que não podem ser herdados, mas na verdade são herdados. (Na minha opinião, uma subclasse herda tudo da classe pai. <Thinking in JAVA> diz que o objeto da subclasse tem uma cópia completa do objeto da classe pai. Instanciar uma classe é instanciado a partir da superclasse de nível superior, é uma camada- estrutura de empacotamento por camada. O método de acesso restrito privado só pode estar dentro da classe. Na verdade, o objeto da subclasse possui tudo do objeto da classe pai.)
Por favor, descreva o modificador protegido interno.
Propriedades/métodos modificados por internal protegido só podem ser acessados por suas subclasses no mesmo assembly (Assembly).
C# fornece um construtor sem parâmetros padrão. Quando implemento outro construtor com um parâmetro, também quero manter esse construtor sem parâmetros. Quantos construtores devo escrever dessa maneira?
Segundo, depois de implementar um construtor, o C# não fornecerá mais um construtor padrão, portanto, você precisará implementar manualmente o construtor sem parâmetros.
Qual é a classe base comum a todos os objetos em C#?
Sistema.Object.
Qual é a diferença entre sobrecarregar e sobrescrever?
A sobrecarga fornece a implementação da chamada de uma assinatura de método com parâmetros diferentes. A substituição fornece uma implementação em uma subclasse que altera o comportamento de um método da classe pai.
O que virtual significa em uma definição de método?
Os métodos modificados por virtual podem ser substituídos por subclasses.
Os métodos não estáticos podem ser substituídos por métodos estáticos?
Não, a assinatura do método substituído deve ser consistente com a assinatura do método substituído, exceto para alterar virtual para substituir.
Os métodos virtuais privados podem ser substituídos?
Não, mesmo os métodos privados da classe pai não podem ser acessados na subclasse.
Uma classe pode ser impedida de ser herdada por outras classes?
Sim, use a palavra-chave selado.
É possível permitir que uma determinada classe seja herdada, mas não permitir que um determinado método nela seja substituído?
Sim, marque esta classe como pública e marque este método como lacrado.
O que é uma classe abstrata?
Uma classe que não pode ser instanciada. Classes abstratas geralmente contêm métodos abstratos, mas é claro que também podem ter implementações concretas. Uma classe herdada só pode ser instanciada depois de implementar todos os métodos abstratos da classe abstrata.
Quando uma classe deve ser declarada abstrata?
Quando esta classe contém métodos abstratos ou quando a classe não implementa totalmente os métodos abstratos da classe pai.
O que é uma interface?
Classes que contêm apenas métodos abstratos públicos. Esses métodos devem ser implementados em subclasses.
Por que não consigo especificar modificadores para métodos em uma interface?
Os métodos na interface são usados para definir o contrato de comunicação entre objetos. Não faz sentido especificar os métodos na interface como privados ou protegidos. Eles são padronizados para métodos públicos.
Posso herdar múltiplas interfaces?
certamente.
E daí se houver nomes de métodos duplicados nessas interfaces?
Neste caso você pode decidir como implementá-lo. Claro que você precisa ter muito cuidado. Mas não há problema no processo de compilação.
Qual é a diferença entre interface e classe abstrata?
Todos os métodos em uma interface devem ser abstratos e os modificadores de acesso ao método não podem ser especificados. Classes abstratas podem ter implementações de métodos e também especificar modificadores de acesso para métodos.
Como distinguir métodos sobrecarregados?
Diferentes tipos de parâmetros, diferentes números de parâmetros e diferentes ordens de parâmetros.
Qual é a diferença entre const e somente leitura?
A palavra-chave const é usada para declarar constantes em tempo de compilação e readonly é usada para declarar constantes em tempo de execução.
Qual é a diferença entre System.String e System.StringBuilder?
System.String é uma string imutável. System.StringBuilder armazena uma string variável e fornece alguns métodos para modificar essa string.
Este artigo vem do blog CSDN. Indique a fonte ao reimprimir: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx.
-