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.
Para obter uma Microsoft Visual C# .NET versão deste artigo, consulte 307205
(http://support.microsoft.com/kb/307205/
)
.
Herança é um conceito importante orientada para objectos. Permite-lhe criar uma hierarquia de classes relacionadas e reutilizar funcionalidade definida em classes existentes.
Neste artigo, aprenderá a utilizar a herança do Microsoft Visual Basic 2005 ou no Microsoft Visual Basic. NET. Definirá uma classe base que contém campos e métodos para uma conta bancária genérico. Em seguida, definirá uma classe derivada que representa um determinado tipo de conta bancária. Classe derivada irá herdar os membros da classe base, substituir membros selectivos e adicionar novos membros para esse tipo de conta.
Inicie o Microsoft Visual Studio 2005 ou Microsoft Visual Studio .NET e crie um novo projecto de aplicação de consola do Visual Basic com o nome UseInheritance no computador local.
No menu projecto , clique em Adicionar classe .
Na caixa de diálogo Adicionar novo item , escreva Account.vb no campo nome . Clique em Abrir .
Nota No Visual Studio 2005, clique em Adicionar em vez de Abrir .
O Visual Studio .NET apresenta o ficheiro Account.vb.
Private Name As String ' Only accessible in base class
Protected Balance As Double ' Accessible in base class and derived class
Adicionar um construtor para inicializar estes campos:
Public Sub New(ByVal Nm As String, ByVal Bal As Double)
Name = Nm
Balance = Bal
End Sub
Adicione os seguintes métodos à classe. A palavra-chave Overridable significa que estes métodos podem ser substituídos em classes derivadas:
Public Overridable Sub Credit(ByVal Amount As Double)
Balance += Amount
End Sub
Public Overridable Sub Debit(ByVal Amount As Double)
Balance -= Amount
End Sub
Public Overridable Sub Display()
Console.WriteLine("Name=" & Name & ", " & "Balance=" & Balance)
End Sub
Adicione o seguinte método à classe. Porque este método não está marcado como Overridable , não pode ser substituída em classes derivadas. Este método proporciona a capacidade para alterar o nome do detentor da conta.
Public Sub ChangeName(ByVal newName As String)
Name = newName
End Sub
Adicione o seguinte método à classe. A palavra-chave MustOverride significa que este método tem de ser substituído em classes derivadas:
Public MustOverride Function CalculateBankCharge() As Double
Na caixa de diálogo Adicionar novo item , escreva SavingsAccount.vb no campo nome . Clique em Abrir .
O Visual Studio .NET apresenta o ficheiro SavingsAccount.vb.
Alterar a definição de classe SavingsAccount como se segue, para que SavingsAccount herda conta (Repare que a palavra-chave Inherits deve aparecer numa nova linha):
Public Class SavingsAccount
Inherits Account
End Class
Private MinBalance As Double ' If the balance drops below MinBalance,
' the bank will charge a fee on the account
Adicionar um construtor da seguinte forma, a inicializar os campos na classe base desta classe:
Public Sub New(ByVal Nm As String, _
ByVal Bal As Double, _
ByVal Min As Double)
MyBase.New(Nm, Bal) ' Call base-class constructor first
MinBalance = Min ' Then initialize fields in this class
End Sub
Adicione os seguintes métodos à classe SavingsAccount. Estes métodos de substituem os métodos de Overridable herdados da classe base:
Public Overrides Sub Debit(Amount As Double)
If Amount <= Balance Then ' Use balance, inherited from base class
MyBase.Debit(Amount) ' Call Debit, inherited from base class
End If
End Sub
Public Overrides Sub Display()
MyBase.Display() ' Call Display, inherited from base class
Console.WriteLine("$5 charge if balance goes below $" & MinBalance)
End Sub
Tem de substituir todos os métodos MustOverride da classe base. Adicione o seguinte método à classe SavingsAccount:
Public Overrides Function CalculateBankCharge() As Double
If Balance < MinBalance Then
Return 5.0
Else
Return 0.0
End If
End Function
No menu Debug , clique em Iniciar sem depuração para executar a aplicação. A aplicação apresenta as seguintes informações na consola:
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
Executar a aplicação novamente, mas desta vez utilizar o depurador. Definir um ponto de interrupção no início do método principal e seleccione Iniciar menu Debug . Passo para cada instrução e observe os métodos são chamados durante a aplicação.
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 307222
(http://support.microsoft.com/kb/307222/en-us/
)
Qual foi o esforço que despendeu pessoalmente para utilizar este artigo?
Muito baixo
Baixo
Moderado
Elevado
Muito elevado
Diga-nos porquê e o que podemos fazer para melhorar estas informações
Obrigado! Os seus comentários são utilizados para ajudar-nos a melhorar o conteúdo do nosso suporte. Para obter mais opções de assistência, visite a Home Page de Ajuda e Suporte.