Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LECTURA
POO EN VISUAL BASIC .NET
NET Framework está basado en clases (u objetos). A diferencia de las versiones anteriores de Visual Basic, la
versión .NET de este lenguaje basa su funcionamiento casi exclusivamente en las clases contenidas en
.NET Framework, además casi sin ningún tipo de limitaciones. Debido a esta dependencia en las clases del
.NET Framework y sobre todo a la forma "hereditaria" de usarlas, Visual Basic .NET tiene que ofrecer esta
característica sin ningún tipo de restricciones.
1. Herencia
2. Encapsulación
3. Polimorfismo
Herencia
La herencia es la cualidad de crear clases que estén basadas en otras clases. La nueva clase heredará todas las
propiedades y métodos de la clase de la que está derivada, además de poder modificar el
comportamiento de los procedimientos que ha heredado, así como añadir otros nuevos.
Imaginemos tres clases: Cliente, Empleado y Persona. Los atributos y operaciones de la clase base
Persona también pueden aplicarse a Cliente o Empleado. La reutilización de estos atributos y
operaciones es una técnica eficaz.
Visual Basic .NET soporta herencia simple a nivel de clase. Es decir, una clase únicamente puede heredar
de una sola clase base. Esto se muestra en el ejemplo de la ilustración anterior. Otros lenguajes, como
C++, permiten que una clase herede de múltiples clases.
1
Ing. Maribel Molina Barriga Herramientas de Desarrollo de Software
Encapsulación
La encapsulación es la capacidad de separar la implementación de la interfaz de una clase del código que hace
posible esa implementación. Esto realmente sería una especie de abstracción, ya que no nos importa cómo
esté codificado el funcionamiento de una clase, lo único que nos debe interesar es cómo funciona.
Polimorfismo
El polimorfismo se refiere a la posibilidad de definir múltiples clases con funcionalidad diferente, pero con
métodos o propiedades denominados de forma idéntica, que pueden utilizarse de manera
intercambiable mediante código cliente en tiempo de ejecución.
2
Ing. Maribel Molina Barriga Herramientas de Desarrollo de Software
¿Qué es un Objeto?
Un objeto es la instancia de una clase. Una clase es la representación abstracta de un concepto en el
mundo real, y proporciona la base a partir de la cual creamos instancias de objetos específicos. Como
ejemplo, puede crear una clase que defina a un cliente. Después puede crear una nueva instancia de la
clase cliente para tener un objeto utilizable de Cliente. Para poder crear un objeto de la clase cliente, debe
crear una nueva instancia basada en esa clase.
Por ejemplo:
Public PersonaEstudiante as Persona
PersonaEstudiante = New Persona()
También es válido:
Public PersonaEstudiante as New Persona()
Cada objeto es un elemento único de la clase en la que se basa. Por tanto, si una clase es como un molde,
entonces un objeto es lo que se crea a partir del molde. La clase es la definición de un elemento; el objeto es
el elemento. El molde para una figura de cerámica en particular, es como una clase; la figura es el
objeto.
Miembros de la clase
Los elementos de una clase que contienen sus datos y definen su comportamiento, es decir, las
propiedades y métodos, reciben el nombre de miembros de la clase. Existen dos formas de almacenar los
datos o información en una clase: a través de campos de clase y de propiedades. La diferencia entre un
campo y una propiedad son concernientemente a preservar la encapsulación del código de la clase.
3
Ing. Maribel Molina Barriga Herramientas de Desarrollo de Software
Por lo tanto, para crear una propiedad en nuestra clase, declararemos en primer lugar una variable
Private, y en segundo lugar un procedimiento de tipo Property, que consta de dos bloques: Get, para
devolver el valor de la variable de la propiedad (podemos usar la palabra clave Return para devolver el
valor); y Set, para asignárselo (aquí debe usar un parámetro con el nombre Value, que contiene el valor
para asignárselo). La sintaxis a emplear se muestra en el siguiente código fuente.
'PROCEDIMIENTOS DE PROPIEDAD
'Declarar el procedimiento Property para la propiedad FechaNacimiento
Public Property FechaNacimiento() As Date
'bloque Get para devolver el valor de la propiedad FechaNacimiento
Get
Return mdtFechaNacimiento
End Get
'bloque Set para asignar valor a la propiedad
Set(ByVal Value As Date)
mdtFechaNacimiento = Value
End Set
End Property
4
Ing. Maribel Molina Barriga Herramientas de Desarrollo de Software
Cuando declaramos un procedimiento Property, debemos, al igual que una función, tipificarlo, ya que una
de sus labores consiste en la devolución de un valor. Para el ejemplo anterior, se observa que, la
propiedad Edad devuelve un valor entero y la propiedad FechaNacimiento devuelve una valor Date. La
manera de crear un objeto a partir de esta clase y usarlo, se muestra en el siguiente ejemplo:
Module Personalizando_Clases
Public Sub Main()
Dim oPersona As New Persona ‘Se instancia a un objeto oPersona basado en la clase Persona
oPersona.FechaNacimiento = #2/9/1983#
Console.WriteLine("La edad es: {0} años", oPersona.Edad.ToString) Console.ReadLine()
End Sub
End Module