A pesar de Microsoft Visual Basic prohíbe la herencia múltiple , que sí ofrece la encapsulación que, cuando se utiliza de forma creativa , se puede lograr el mismo efecto. La herencia y la encapsulación son dos fundamentos de la programación orientada a objetos , cada uno mucho más fácil de entender a través del ejemplo de definición . Ambas técnicas son formas de derivar y ampliar la nueva funcionalidad del código existente. Derivar una nueva clase heredando una continuación, encapsulando las segundas clases. Cosas que necesitará
Microsoft Visual Studio o Visual Basic Express 2010
Conocimientos básicos de Visual Basic.Net
Mostrar más instrucciones
1
Abra Visual Studio y crear una nueva aplicación de consola de Visual Basic llamado MultiClassDemo . Haga clic en " Archivo" y luego en "Nuevo" y completar el nuevo formulario de solicitud .
2
Crear una nueva clase llamada al cliente . Haga clic en " Proyecto " y luego " Nueva Clase " e introduce al cliente en el campo Nombre . Cuando aparezca la ventana del editor de código , modifique el código de la siguiente manera .
Public Class Cliente
Público de la Propiedad CustomerID As String = ""
pública CompanyName Propiedad As String = ""
Pública inmueble As String = ""
Public Overridable Sub Load (id ByVal como secuencia)
IdCliente = id
CompanyName = "Alquiler de Acme "
Contacto =" Joe Smith "
End Sub End Class
Esta clase describe un objeto Customer con propiedades en ID , nombre y contacto. El método Load asigna valores a las propiedades .
3
Repita los pasos anteriores para crear una clase de crédito .
Public Class crédito
Pública CustomerID Propiedad As String = ""
Pública creditscore propiedad As String = ""
Pública ReportDate propiedad Como Fecha = Date.MinValue
Public Sub Load ( Identificación ByVal como secuencia)
IdCliente = id
creditscore = "A +"
ReportDate = # 6/1/2011 #
End Sub End Class
clase el crédito tiene ID , la puntuación de crédito y propiedades de fecha del informe , así como su propio método de carga .
4
Crear una tercera clase llamada CustomerCredit y añadir la declaración heredada de la siguiente manera .
Public Class CustomerCredit
hereda cliente
Cuando la clase CustomerCredit se construye por el compilador , hereda las propiedades CustomerID, CompanyName y de contacto, así como el método de carga de la clase de cliente .
5
Crear un nuevo campo privado llamado puntaje para encapsular una instancia de la clase de crédito .
puntuación privado como nuevo crédito
6
Exponer las propiedades de la clase de crédito que utilizan propiedades derivadas .
Pública creditscore propiedad As String
Cómo
Volver score.CreditScore
final Cómo
< p > Set (valor ByVal como secuencia)
score.CreditScore = valor
End Set End
propiedad en
Pública ReportDate propiedad Como fecha
< p> Obtener
Volver score.ReportDate
final Cómo
Set ( ByVal como valor de fecha)
score.ReportDate = valor
< p > End Set End
propiedad en
Aunque no es tan conveniente como la herencia múltiple , esto no exponer las propiedades de Crédito.
7
reemplazar el método de carga del cliente para cargar tanto el de las propiedades de crédito del cliente y .
Public Overrides Sub Load (id ByVal como secuencia)
MyBase.Load (id )
score.Load (id )
End Sub End Class
8
Agregar código a la función principal de Module1 para probar la nueva clase derivada. Haga clic en "Windows " y luego haga clic en " Module1.vb " . Actualice el código de la siguiente manera :
Module Module1
Sub Main ()
cust Dim As New CustomerCredit
cust.Load ( "1234 " )
Console.WriteLine (& cust.CustomerID )
Console.WriteLine "= cliente" ( " Company :" & cust.CompanyName )
Console.WriteLine ( " Contacto : "& cust.Contact )
Console.WriteLine ( " puntaje de crédito : "& cust.CreditScore )
Console.WriteLine ( " fecha del informe : "& cust.ReportDate.ToShortDateString )
End Sub End Module
9
clic "F5 " para probar el programa .