Está en la página 1de 5

Ing.

Maribel Molina Barriga Herramientas de Desarrollo de Software

LECTURA
POO EN VISUAL BASIC .NET

NET Framework y la Programación Orientada a


Objetos (POO)

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.

Bases de la Programación Orientada a Objetos

Los tres pilares de la Programación Orientada a Objetos (POO) son:

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.

Definiendo una Clase


Una clase es esencialmente un proyecto, a partir del cual puede crear objetos. Un a clase define las
características de un objeto, incluyendo las propiedades que definen los tipos de datos que ese objeto
puede contener y los métodos que describen el comportamiento del objeto. Estas características
determinan la manera en que otros objetos pueden acceder y trabajar con los datos que se incluyen en el
objeto.

Para definir una clase, se coloca la palabra Public Class Perro


clave Class antes del nombre de su clase, y Public Altura As Decimal
después se insertan los miembros de la Public Peso As Decimal
clase (datos y métodos) entre la Public Color As String
definición del nombre de la clase y la
instrucción End Class. Sub Caminar (ByVal Pasos As Integer)
Si incluye los métodos, entonces el código de End Sub
cada método también se debe
Sub Ladrar()
incluir entre la declaración del método
End Sub
y el final del mismo. Observe a la derecha la
definición de la clase Perro. Este contiene 3 Sub Comer ()
atributos: Altura, Peso y Color. Además se End Sub
definen 3 métodos: Caminar, Ladrar y Comer. End Class

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()

Otra de las formas de instanciar objetos es la siguiente:


Public PersonaEstudiante as Persona = 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

Creación de campos para la clase


Un campo de una clase no es otra cosa que una variable, generalmente con ámbito público, accesible
desde el interior de la clase. Citando nuestra clase Perro, podremos observar que contiene tres campos:
Altura, Peso y Color. La manera de manipular estos campos es sencillo, debemos instanciar un objeto
Perro, a continuación de la variable que lo contiene situar un punto (.), y finalmente el nombre del campo a
manipular.

Dim MiPerro as New Perro()


MiPerro.Color="negro"
MiPerro.Peso=23.57
'....
Me.TxtPeso.Text=Miperro.Peso

Creación de propiedades para la clase


Una propiedad en una clase se define, por normal general, mediante dos elementos: una variable de
propiedad y un procedimiento de propiedad.
La variable de propiedad, tal y como su nombre indica, es una variable con ámbito privado a nivel de la clase,
que se encarga de guardar el valor de propiedad. Por su parte el procedimiento de propiedad o Property,
es el encargado de actuar de puente entre el código cliente y la variable de propiedad, realizando las
operaciones de acceso y asignación de valores a dicha variable.

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.

Public Class Persona


'variable de propiedad para la propiedad FechaNacimiento y
Private mdtFechaNacimiento As Date
'Para la propiedad Edad
Private miEdad As Integer

'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

'propiedad de sólo lectura


Public ReadOnly Property Edad() As Integer
Get
miEdad = DateDiff(DateInterval.Year, mdtFechaNacimiento, Now()) Return miEdad
End Get
End Property
End Class

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

También podría gustarte