Makale numarası: 307222 - Son Gözden Geçirme: 06 Aralık 2006 Çarşamba - Gözden geçirme: 4.4

Devralma Visual Basic 2005 veya Visual Basic. NET'te nasıl kullanılır

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Bu makalenin Microsoft Visual C# .NET sürümü için bkz: 307205  (http://support.microsoft.com/kb/307205/ ) .

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Devralma, önemli bir nesneye dayalı kavram ' dir. Ilgili sınıf hiyerarşisini oluşturmak ve varolan sınıflar tanımlanan işlevleri yeniden kullanmaya olanak sağlar.

Bu makalede, devralma Microsoft Visual Basic 2005 veya Microsoft Visual Basic. NET'te nasıl kullanacağınızı öğreneceksiniz. Alanları ve yöntemleri için genel bir banka hesabı'nı içeren bir temel sınıf tanımlayacaktır. Sonra belirli bir banka hesabı türünü temsil eden türetilmiş bir sınıf tanımlayacaktır. Türetilmiş bir sınıf üyeleri temel sınıfından, seçmeli üyeleri geçersiz kılmak ve bu tür bir hesap için yeni üyeler eklemek.

Gereksinimler

Önceki bilgi gerekli:
  • Visual Basic 2005 veya Visual Basic .NET sözdizimi
  • Nesneye dayalı kavram

Yeni bir konsol uygulaması oluşturun.

  1. Microsoft Visual Studio 2005 veya Microsoft Visual Studio. NET'i başlatın ve yerel bilgisayarınızda UseInheritance adlı yeni bir Visual Basic konsol uygulaması projesi oluşturun.
  2. Proje) menüsünde Add Class ' ı tıklatın.
  3. Yeni Öğe Ekle iletişim kutusunda <a0>adı</a0> alanındaki Account.vb yazın. ' ı tıklatın.

    Not Visual Studio 2005'te, Ekle, ' ı tıklatın.
  4. Visual Studio. NET'in dosya Account.vb görüntüler.
  5. Projeyi kaydedin.

Temel bir soyut sınıf oluşturma

  1. Bir soyut sınıf hesap yapmak için hesap sınıfına, Mustınherit değiştirici ekleyin:
    Public MustInherit Class Account
    
    End Class
    					

Temel sınıf kodunu yazın.

  1. Iki alan hesap sınıfına ekleyin:
    Private Name As String       ' Only accessible in base class
    Protected Balance As Double  ' Accessible in base class and derived class
  2. Bu alanları'nı başlatmak için bir kurucu ekleyin:
    Public Sub New(ByVal Nm As String, ByVal Bal As Double)
       Name = Nm
       Balance = Bal
    End Sub 
  3. Aşağıdaki yöntem, sınıfa ekleyin. Bu yöntemler, türetilmiş sınıfları kılınabilir Overridable anahtar anlamına gelir:
    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
  4. Aşağıdaki yöntem, sınıfa ekleyin. Bu yöntem Overridable ' işaretli olmadığından, türetilmiş sınıfları geçersiz kılınamaz. Bu yöntem hesap sahibinin adını değiştirme olanağı sağlar.
    Public Sub ChangeName(ByVal newName As String)
       Name = newName
    End Sub
  5. Aşağıdaki yöntem, sınıfa ekleyin. Bu yöntem türetilmiş sınıfları geçersiz MustOverride anahtar anlamına gelir:
    Public MustOverride Function CalculateBankCharge() As Double

Türetilmiş bir sınıf oluşturmak.

  1. Proje) menüsünde Add Class ' ı tıklatın.
  2. Yeni Öğe Ekle iletişim kutusunda <a0>adı</a0> alanındaki SavingsAccount.vb yazın. ' ı tıklatın.
  3. Visual Studio. NET'in dosya SavingsAccount.vb görüntüler.
  4. <a1>Hesap</a1> (ınherits anahtar yeni bir satırda görünmelidir unutmayın) SavingsAccount devraldığı SavingsAccount sınıf tanımı aşağıdaki gibi değiştirin, böylece:
    Public Class SavingsAccount 
       Inherits Account
    
    End Class

Türetilmiş bir sınıf kodunu yazın.

  1. Bir alan SavingsAccount sınıfına ekleyin:
    Private MinBalance As Double  ' If the balance drops below MinBalance, 
                                  ' the bank will charge a fee on the account
  2. Bir kurucu taban sınıftaki ve bu sınıftaki alanları'nı başlatmak için aşağıdaki şekilde ekleyin:
    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
  3. Aşağıdaki yöntemlerden SavingsAccount sınıfına ekleyin. Bu yöntemler temel sınıfından devralınan Overridable yöntemleri geçersiz kılmak:
    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
  4. Tüm temel sınıf MustOverride yöntemleri geçersiz kılmak gerekir. Aşağıdaki yöntem SavingsAccount sınıfına ekleyin:
    Public Overrides Function CalculateBankCharge() As Double
       If Balance < MinBalance Then
          Return 5.0
       Else
          Return 0.0
       End If
    End Function

Çalıştığından emin olun.

  1. Kodu Module1.vb dosyasında <a0>kodu görüntüle</a0> penceresindeki görüntüler.
  2. Ana yönteminde bir SavingsAccount nesnesi aşağıdaki gibi oluşturursunuz:
    Dim sa As SavingsAccount = New SavingsAccount("Freda Smith", 100.00, 25)
    sa.Display()
  3. Ortak bir yöntemleri SavingsAccount veya hesap çağırmak için aşağıdaki kodu ekleyin:
    sa.Credit(100)
    sa.Debit(180)
    sa.ChangeName("Freda Jones")
    sa.Display()
    Console.WriteLine("Bank charge: $" & sa.CalculateBankCharge())
    					
  4. Uygulamayı oluşturun.
  5. Hata Ayıkla menüsünden uygulamayı çalıştırmak için Debugging Başlat'ı tıklatın. Uygulama, konsol üzerindeki aşağıdaki bilgileri görüntüler:
    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
    						
  6. Uygulamayı yeniden çalıştırın, ancak bu kez hata ayıklayıcıyı kullanın. Main yöntemi başında kesme noktası ayarlamak ve Hata Ayıkla menüsünden Başlat ' ı seçin. Her ifadesine adım ve uygulama sırasında hangi yöntemleri olarak inceleyin.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbvs2005applies kbvs2005swept kbhowtomaster KB307222 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:307222  (http://support.microsoft.com/kb/307222/en-us/ )