Selvom Microsofts Visual Basic forbyder multipel nedarvning , det tilbyder indkapsling , der, når de anvendes kreativt, kan opnå den samme effekt. Arv og indkapsling er to grundlaget for objektorienteret programmering , hver meget lettere at forstå gennem eksempel end definition. Begge teknikker er måder at udlede og udvide ny funktionalitet fra eksisterende kode . Udlede en ny klasse ved at arve en så indkapsler den anden klasser. Ting du skal
Microsoft Visual Studio eller Visual Basic Express 2010
Grundlæggende kendskab til Visual Basic.Net
Vis Flere Instruktioner
1
Open Visual Studio og skabe et nyt Visual Basic konsol program kaldet MultiClassDemo . Klik på " File " og derefter " Ny" og færdiggøre den nye ansøgningsskema.
2
Opret en ny klasse kaldet Kunden. Klik på " Project" og derefter " Ny klasse " og derefter indtaste Kunden i navnefeltet . Når koden editor vises, ændre koden som følger.
Public Class Kunde
Public Property CustomerID As String = " "
Public Property CompanyName As String = ""
Public Property Kontakt As String = " "
Public overridable Sub Load ( ByVal id As String )
Kunde = id
Firmanavn = " Acme Rental "
Kontakt =" Joe Smith "
End Sub
End Class
Denne klasse beskriver en Customer genstand med egenskaber til id , navn og kontaktoplysninger . Load metoden tildeler værdier til egenskaber.
3
Gentag ovenstående trin for at oprette en Credit klasse.
Public Class Credit
Public Property CustomerID As String = " "
Public Property CreditScore As String = " "
Public Property ReportDate som Date = Date.MinValue
Public Sub Load ( ByVal id As String ) < br >
CustomerID = id
CreditScore = " A + "
ReportDate = # 6/1/2011 #
End Sub
End Class
credit klasse har ID , kredit score og Report date egenskaber såvel som sin egen Load metoden.
4
Opret en tredje klasse kaldet CustomerCredit og tilsæt den nedarvede resultatopgørelsen som følger.
Public Class CustomerCredit
arver Customer
Når CustomerCredit klasse får bygget af compiler, det arver Kunde , companyName og kontakt egenskaber samt Load metoden fra Customer klasse.
5.
Opret en ny privat felt kaldet score til at indkapsle en instans af Credit klassen.
private score Som New Credit
6
Expose Credit klasses egenskaber ved hjælp af afledte egenskaber.
Public Property CreditScore As String
Få
Return score.CreditScore
End Get
< p > Set ( ByVal value As String )
score.CreditScore = værdi
End Set
End Ejendomsmæglere
Public Property ReportDate Som Dato
< p > Kom
Return score.ReportDate
End Get
Set ( ByVal værdi Som Date )
score.ReportDate = værdi
< p > End Set
End Ejendomsmæglere
Selvom ikke så praktisk som multipel nedarvning , gør dette eksponere Credit egenskaber.
7
Tilsidesæt Kundens Load metode til at indlæse både Kunden og Credit egenskaber.
Public Tilsidesætter Sub Load ( ByVal id As String )
MyBase.Load (id )
score.Load (id )
End Sub
End Class
8
Tilføj kode til den vigtigste funktion i Module1 at teste den nye afledte klasse . Klik på "Windows " og derefter klikke på " Module1.vb " . Opdatere koden til følgende ordlyd : Hej
Modul Module1
Sub Main ( )
Dim cust Da New CustomerCredit
cust.Load ( "1234" )
Console.WriteLine ("Kunden = " & cust.CustomerID )
Console.WriteLine ( "Selskabet : " & cust.CompanyName )
Console.WriteLine ( " Kontaktperson: "& cust.Contact )
Console.WriteLine ( " Credit Score: "& cust.CreditScore )
Console.WriteLine ( " Rapport dato : "& cust.ReportDate.ToShortDateString )
End Sub
End Module
9
Klik på " F5 " for at teste programmet .