Selv om Microsofts Visual Basic forbyr multippel arv , gjør det tilbudet innkapsling som , når det brukes kreativt , kan oppnå samme effekt. Arv og innkapsling er to grunnlaget for objektorientert programmering , hver mye lettere å forstå gjennom eksempel enn definisjon. Begge teknikker finnes måter å utlede og utvide ny funksjonalitet fra eksisterende kode . Utlede en ny klasse ved å arve en så innkapsle de andre klassene . Du trenger
Microsoft Visual Studio eller Visual Basic Express 2010
Grunnleggende kunnskap om Visual Basic.Net
Vis flere instruksjoner
en
Åpne Visual Studio og skape en ny Visual Basic konsoll applikasjon kalt MultiClassDemo . Klikk på "File " og deretter " New " og fyll ut nye søknadsskjema .
2
Opprett en ny klasse kalt Kunden. Klikk "Project " og deretter " New Class " og deretter skrive Kundeservice i navnefeltet . Når koden editor vinduet vises, endre koden som følger.
Public Class Customer
offentlig eiendom Kunde As String = ""
offentlig eiendom CompanyName As String = ""
offentlig eiendom Kontakt As String = ""
Public Overridable Sub Load ( ByVal id As String )
CustomerID = id
CompanyName = " Acme Rental "
Kontakt =" Joe Smith "
End Sub
End Class
Denne klassen beskriver en Customer objekt med eiendommer for ID , navn og kontaktinformasjon . The Last metoden tilordner verdier til eiendommene .
3
Gjenta trinnene over for å skape en Credit klasse.
Public Class Credit
offentlig eiendom CustomerID As String = ""
offentlig eiendom CreditScore As String = ""
offentlig eiendom ReportDate som Dato = Date.MinValue
Public Sub Load ( ByVal id As String )
CustomerID = id
CreditScore = "A +"
ReportDate = # 6/1/2011 #
End Sub
End Class
Credit klassen har ID , kreditt score og rapporten dato egenskaper så vel som sin egen Load metoden.
4
Lag en tredje klasse kalt CustomerCredit og legge den arvede uttalelse som følger.
Public Class CustomerCredit
arver Customer
Når CustomerCredit klasse blir bygget av kompilatoren , arver det de CustomerID , companyname og Contact egenskaper samt Load metode fra kunden klassen .
5
Opprett en ny privat felt kalt score for å kapsle en forekomst av Credit klassen .
Private poengsum som ny Credit
6
utsett Credit klassens egenskaper ved hjelp av avledede egenskaper .
offentlig eiendom CreditScore As String
Få
Return score.CreditScore
End Få
< p > Set ( ByVal verdi As String )
score.CreditScore = verdi
End Set
End Property
offentlig eiendom ReportDate Som Date
< p > Kom
Return score.ReportDate
End Få
Set ( ByVal verdi As Date )
score.ReportDate = verdi
< p > Slutt Sett
End Property
Selv om ikke så praktisk som multippel arv , gjør dette utsetter Credit egenskaper .
7
Overstyring Kundens Load metode for å laste både Kunden og Credit egenskaper .
Public Overstyrer Sub Load ( ByVal id As String )
MyBase.Load ( id )
score.Load ( id )
End Sub
End Class
8
Legg til kode til den viktigste funksjonen i Module1 å teste den nye avledet klasse . Klikk på " Windows" og klikk " Module1.vb " . Oppdatere koden for å lyde som følger : en
Module Module1
Sub Main ( )
Dim kundeloj som ny CustomerCredit
cust.Load ( "1234 " )
Console.WriteLine ("Kunden = " & cust.CustomerID )
Console.WriteLine ( "Selskapet :" & cust.CompanyName )
Console.WriteLine ( " Kontakt: "& cust.Contact )
Console.WriteLine ( " Credit Score : "& cust.CreditScore )
Console.WriteLine ( " Rapport dato : "& cust.ReportDate.ToShortDateString )
End Sub
End Module
9
Klikk på " F5 " for å teste programmet .