Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este passo a passo artigo mostra como usar herança em Visual C#.
A herança é uma concepção Object-Oriented importante. Permite que você para compilar uma hierarquia de relacionado classes, e a reutilização funcionalidade definida em classes existentes.
No seguinte exemplos, você definirá um classe base que contém campos e métodos para um genérico banco conta. Em seguida, você definirá um classe derivada que representa um tipo específico de conta bancária. A classe derivada herdarão membros do classe base, membros substituir selecionada, e adicionar novos membros para o novo tipo de conta.
Em Gerenciador de Soluções, alternar para o Class View (se você não pode vi-lo, clique Exibir Classe no menu Exibir ). Clique com o botão direito do mouse o projeto UseInheritance, apontar para Adicionar , e depois clique Adicionar Classe .
Observação : Visual C# 2005. apontar para Adicionar , e depois clique Classe .
No Adicionar Assistente classe tipo C# Account. Clique na botão de opção abstrato , e depois clique Concluir .
A classe Conta é exibida. Observe o definição de classe inclui o abstrato palavra-chave modificador:
Adicione o seguinte métodos para a classe. O palavra-chave virtual significa esses métodos podem ser substituídos em derivado classes:
public virtual void Credit(double amount)
{
this.balance += amount;
}
public virtual void Debit(double amount)
{
this.balance -= amount;
}
public virtual void Display()
{
Console.WriteLine("Name={0}, balance={1}", this.name, this.balance);
}
Adicione o seguinte método para a classe. Porque esse método não está marcado como virtual, ele não pode ser substituído em derivado classes. Este método fornece a funcionalidade para alteração o nome da conta reservado do.
public void ChangeName(string newName)
{
this.name = newName;
}
Adicione o seguinte método para a classe. O abstrato palavra-chave significa este método deve ser substituído em derivado classes:
No modo de exibição de classe , clique com o botão direito do mouse o projeto UseInheritance. Sobre o menu de atalho , escolher Adicionar e depois clique Adicionar Classe .
No Adicionar Assistente classe tipo C# SavingsAccounte depois clique Concluir .
Exibir a codificar para a classe SavingsAccount.
Altere o definição de classe SavingsAccount da seguinte maneira, para que SavingsAccount herda de conta:
private double minBalance; // If the balance drops below minBalance,
// the bank will charge a fee on the account
Modificar o construtor SavingsAccount para inicializar os campos no classe base e nesta classe:
public SavingsAccount(string nm, double bal, double min)
: base(nm, bal) // Call base-class constructor first
{
minBalance = min; // Then initialize fields in this class
}
Adicione o seguinte métodos para a classe SavingsAccount. Esses substituir métodos de métodos virtuais a classe base herdados:
public override void Debit(double amount)
{
if (amount <= balance) // Use balance, inherited from base class
base.Debit(amount); // Call Debit, inherited from base class
}
public override void Display()
{
base.Display(); // Call Display, inherited from base class
Console.WriteLine("$5 charge if balance goes below ${0}", minBalance);
}
Você deve substituir abstrato todos os métodos do classe base. Adicione o seguinte método para a classe SavingsAccount:
public override double CalculateBankCharge()
{
if (balance < minBalance)
return 5.00;
else
return 0.00;
}
Definir um ponto de interrupção na iniciar do método principal , e iniciar o aplicativo no depurador. Etapa para cada declaração, e observar os métodos são chamado durante o aplicativo. O aplicativo exibe a seguinte informações sobre o console:
Name=Freda Smith, balance=100
$5 charge if balance goes below $25
Name=Freda Jones, balance=20
$5 charge if balance goes below $25
Bank charge: $5
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Caso tenha encontrado erros neste artigo e queira colaborar no processo de aperfeiçoamento desta ferramenta, por favor preencha o formulário existente na parte inferior desta página. Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 307205
(http://support.microsoft.com/kb/307205/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
O que podemos fazer para melhorar essa informação?
Para proteger sua privacidade, não inclua informações de contato em seus comentários.
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.