Aracılığıyla paylaş


Yordam Aşırı Yüklemesi (Visual Basic)

Aşırı bir yordam, birden çok sürümü aynı ada ancak farklı parametre listeleri kullanarak tanımlama anlamına gelir.Aşırı amacı pek çok yakından ilgili sürümü bir yordam adıyla aralarındaki gerek kalmadan tanımlamaktır.Bunun için parametre listesi değişen tarafından.

Kurallar aşırı

Bir yordam tekrar tıklattığınızda, aşağıdaki kurallar geçerlidir:

  • Aynı adı.Aşırı yüklü her sürümü aynı yordam adı kullanmanız gerekir.

  • Farklı imza.Aşırı yüklü her sürümü diğer aşırı yüklü sürümlerini en az bir aşağıdaki açılardan farklılık gerekir:

    • Parametre sayısı

    • Parametre

    • Parametre veri türleri

    • Tür parametreleri (için genel bir yordam) sayısı

    • Dönüş türü (yalnızca için bir dönüştürme işleci)

    Yordam adı ile birlikte topluca önceki Items adlý imza yordam.Aşırı yüklü bir yordamı çağırdığınızda, derleyici imza çağrısı doğru tanım eşleşen denetlemek için kullanır.

  • Öğeleri olmayan Kısım imza.İmza değişen olmadan bir yordam aþýrý yükleyemezsiniz.Özellikle, bir veya daha fazla aşağıdaki öğeleri yalnızca değişen tarafından bir yordam tekrar yükleyemez:

    • Yordam değiştirici anahtar sözcükler gibi Public, Shared, veStatic

    • Parametre veya türü parametre adları

    • (İçin genel bir yordam) türü parametresi kısıtlamaları

    • Parametre değiştirici anahtar sözcükler gibi ByRef veOptional

    • Olup bir değer verir

    • (Dışında için bir dönüştürme işleci) değerin veri türü

    Yukarıdaki listede öğeler imzanın bir parçası değil.Aşırı yüklü sürümlerini görmek arasında ayrım yapmak için kullanamazsınız, ancak kendi imzaları tarafından düzgün Ayrıştırılan aşırı yüklü sürümlerini arasında farklılık gösterebilir.

  • Sonradan bağlanan bağımsız.Aşırı yüklü bir sürüme geç ilişkili nesne değişkeni geçirmek istiyorsanız, uygun parametre olarak bildirmek Object.

Bir yordam birden çok sürümü

Yazmakta olduğunuz varsayalım bir Sub yordam, bir müşterinin bakiyesi ve karşı bir hareketin deftere nakletmek için istediğiniz adı veya hesap numarası tarafından müşteriyle ilgilidir yapabilmek.Bunu yapabilmek için iki farklı tanımlayabilirsiniz Sub yordamlar, aşağıdaki örnekte olduğu gibi:

Sub postName(ByVal custName As String, ByVal amount As Single)
    ' Insert code to access customer record by customer name. 
End Sub 
Sub postAcct(ByVal custAcct As Integer, ByVal amount As Single)
    ' Insert code to access customer record by account number. 
End Sub

Aşırı yüklü sürümlerini görmek

Bir tek bir yordam adı tekrar için alternatif bir yöntemdir.Kullanabileceğiniz Aşırı Yüklemeler (Visual Basic) gibi her parametre listesi prosedürü sürümünü tanımlamak için anahtar sözcük:

Overloads Sub post(ByVal custName As String, ByVal amount As Single)
    ' Insert code to access customer record by customer name. 
End Sub 
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
    ' Insert code to access customer record by account number. 
End Sub

Ek aşırı yükleme

Ayrıca ya da hareket miktarı kabul isteseydiniz Decimal veya Single, daha fazla tekrar post bu değişim için izin vermek için.Bu olsaydı her önceki örnekte aşırı yükleme için dört elinizde Sub yordamlar, aynı ada sahip tüm ancak dört farklı imzalara sahip.

Aşırı yararları

Bir yordam aşırı avantajı, çağrı esneklik olmasıdır.Kullanmak için post yordamı çağıran kodun, müşteri kimliği olarak alabileceği Yukarıdaki örnekte bildirilen bir String veya bir Integerve sonra her iki durumda da aynı yordam çağrısı.Aşağıdaki örnekte bu gösterilmektedir:

Imports MSVB = Microsoft.VisualBasic
Dim customer As String 
Dim accountNum As Integer 
Dim amount As Single
customer = MSVB.Interaction.InputBox("Enter customer name or number")
amount = MSVB.Interaction.InputBox("Enter transaction amount")
Try
    accountNum = CInt(customer)
    Call post(accountNum, amount)
Catch 
    Call post(customer, amount)
End Try

Ayrıca bkz.

Görevler

Nasıl yapılır: Bir Yordamın Birden Fazla Sürümünü Tanımlama (Visual Basic)

Nasıl yapılır: Aşırı Yüklenmiş Bir Yordamı Çağırma (Visual Basic)

Nasıl yapılır: İsteğe Bağlı Parametreler İsteyen Bir Yordamı Aşırı Yükleme (Visual Basic)

Nasıl yapılır: Belirsiz Sayıda Parametre İsteyen Bir Yordamı Aşırı Yükleme (Visual Basic)

Başvuru

Aşırı Yüklemeler (Visual Basic)

Kavramlar

Visual Basic'de Yordamlar

Yordamları Aşırı Yüklemeye İlişkin Düşünceler (Visual Basic)

Aşırı Yükleme Çözümü (Visual Basic Başvurusu)

Visual Basic'de Genel Türler (Visual Basic)