Programación Orientada a Objetos
mayo, 2003
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS EN VISUAL BASIC .NET
Tomás Montero Ripoll
Raúl del Nogal Sánchez
Departamento de Informática y Automática
Universidad de Salamanca
Información de los autores:
Tomás Montero Ripoll
Estudiante de 3º de Ingeniería Técnica Informática de Sistemas
Departamento de Informática y Automática
Facultad de Ciencias - Universidad de Salamanca
Plaza de la Merced S/N – 37008 - Salamanca
[email protected]
Raúl del Nogal Sánchez
Estudiante de 3º de Ingeniería Técnica Informática de Sistemas
Departamento de Informática y Automática
Facultad de Ciencias - Universidad de Salamanca
Plaza de la Merced S/N – 37008 - Salamanca
[email protected]
Este documento puede ser libremente distribuido.
© 2003 Departamento de Informática y Automática - Universidad de Salamanca.
Resumen
En este documento se pretende hacer un pequeño acercamiento a la programación orientada a
objetos en Visual Basic .NET, centrándonos en la creación de clases y jerarquía existente entre
ellas.
Se hará especial hincapié en la sintaxis que este lenguaje utiliza, así como en sus
características propias; basándonos en los conceptos estudiados en la asignatura y que tienen en
común todo los lenguajes de programación orientados a objetos.
Abstract
In the work, we present an introduction to Object-Oriented Programming in visual Basic .NET.
The main topic was can create different classes and its hierarchical analysis.
The syntaxes of this language and the main features are studied in this work. We have used
the concepts learnt in this subject. All the languages of objects are based on the same concepts.
VB .NET
i
Tabla de Contenidos
1. Introducción ___________________________________________________ 1
2. Ámbitos con nombre _____________________________________________ 1
3. Clases _________________________________________________________ 3
3.1 Campos de datos de la clase ___________________________________ 4
3.2 Propiedades de la clase _______________________________________ 5
3.3 Métodos de la clase __________________________________________ 7
3.4 Eventos de la clase ___________________________________________ 8
3.5 Constructores y destructores __________________________________ 9
3.6 Clases anidadas ____________________________________________ 10
4. Jerarquía de Clases _____________________________________________ 12
4.1 Herencia __________________________________________________ 12
4.2 Polimorfismo ______________________________________________ 14
5. Referencias ____________________________________________________17
ii
VB .NET
1. INTRODUCCIÓN
Visual Basic es un descendiente de Basic, que ha existido durante varias décadas. BASIC (el
acrónimo de BeginnersÁll-Purpose Symbolic
fue originariamente
desarrollado por la Dartmouth University en 1964 como lenguaje para programadores
principiantes. BASIC se convirtió en el primer lenguaje que la mayoría de los programadores
aprendía para familiarizarse con los fundamentos de la programación antes de pasar a lenguajes
más potentes.
Instruction Code)
Visual Basic apareció en mayo de 1991 y supuso una revolución en la metodología de
desarrollo de aplicaciones, ya que permitía la creación de programas arrastrando y soltando
componentes en lugar de tener que codificar manualmente los elementos. Desde muchos puntos
de vista Visual Basic .NET supone la madurez de ese proyecto que nació hace mas de diez años.
La nueva versión, Visual Basic .NET, incorpora características de orientación a objetos de
tal manera que podría considerarse un lenguaje totalmente diferente a sus predecesores y
totalmente orientado a objetos, ya que en versiones anteriores Visual Basic era considerado un
lenguaje de programación con sintaxis de objetos, pero no un verdadero lenguaje orientado a
objetos.
Las principales novedades que incorpora son:
- La herencia, tan solicitada por miles de programadores.
- Desarrollo de programas con múltiples hilos de ejecución.
- Control estructurado de excepciones.
- Inicializadores, que permiten establecer los valores iniciales de las variables.
2. ÁMBITOS CON NOMBRE
En una aplicación participan un buen número de componentes mediante los cuales se facilita el
acceso a bases de datos, la conectividad en redes, comunicación con otras aplicaciones, etc. La
existencia de tantos componentes puede causar conflictos si hay coincidencias de nomenclatura,
y por ello, la plataforma .NET ha optado por el uso de espacios o ámbitos de nombre.
- 1 -
Introducción a la programación orientada a objetos en Visual Basic .NET
Un ámbito con nombre, del inglés namespace, es un ámbito delimitado explícitamente al
que se ha asignado un identificador. En su interior es posible incluir tanto definiciones de tipos
como otros ámbitos con nombre, creando una anidación que dará lugar a una jerarquía.
Para crear un ámbito con nombre, incluyendo en él las definiciones que nos interesen, se
utiliza la palabra clave Namespace. Hay que tener en cuenta que todas las definiciones
incluidas en su definición sólo existen dentro del espacio con nombres. Por ejemplo:
Namespace Espacio1
Namespace Espacio2
Public Class HolaMundo
Public Shared Sub Main()
System.Console.WriteLine(“Hola desde
Namespace Espacio1.Espacio2
Public Class HolaMundo
Public Shared Sub Main()
System.Console.WriteLine(“Hola desde
Espacio1.Espacio2”)
End Sub
End Class
End Namespace
End Namespace
Espacio1.Espacio2”)
End Sub
End Class
End Namespace
End Namespace
Ejemplo 2.1
En ambos casos tenemos un ámbito con nombre, llamado Espacio1, que contiene en su
interior otro, denominado Espacio2.
Al haberse definido la clase HolaMundo como pública, es posible crear un objeto de
dicha clase desde otro programa, siempre y cuando se componga una referencia completa que
permitiese al compilador identificarla de manera unívoca. Esto significaría anteponer al nombre
de la clase el del ámbito o ámbitos con nombre donde se encuentra definida, como se hace en
este ejemplo:
VB .NET
2
Montero y Nogal
Class UsaHolaMundo
Shared Sub Main()
End Sub
End Class
Dim MiHolaMundo As Espacio1.Espacio2.HolaMundo = New
Espacio1.Espacio2.HolaMundo()
Ejemplo 2.2
Una alternativa a esta composición de referencias cualificadas consiste en utilizar la
sentencia Imports, seguida del ámbito cuya referencia no deseamos repetir continuamente. El
resultado sería, como se puede ver a continuación, un código más legible.
Imports Espacio1.Espacio2
Class UsaHolaMundo
Shared Sub Main()
End Sub
End Class
Dim MiHolaMundo As HolaMundo = New HolaMundo()
Ejemplo 2.3
3. CLASES
En la programación orientada a objetos (POO), utilizamos los objetos para encapsular la
información asociada a las entidades con las que trabaja el programa.
Una clase es un molde que define los atributos y comportamientos de los objetos que se
crean como instancias de esta clase. En Visual Basic .NET, la definición de clase es muy similar
a la definición de la misma en cualquier lenguaje orientado a objetos. Esta versión .NET incluye
como novedad que no es necesario crear un módulo independiente para cada clase.
Una clase puede ser base de otra, así como estar derivada de otra. En ella, puede definirse
su comportamiento -métodos- , sus atributos -propiedades-, campos de datos y eventos, e
incluso anidar unas clases dentro de otras.
3
VB .NET
Introducción a la programación orientada a objetos en Visual Basic .NET
Public class ClaseBase
...
End class
Ejemplo 3.1
3.1. CAMPOS DE DATOS DE LA CLASE
Los campos de datos son variables con un ámbito de visibilidad reducido a la clase. El acceso a
dichas variables, por parte del usuario de la clase, puede ser directo o bien a través de métodos o
propiedades, todo dependiendo de la visibilidad del campo. En su declaración, podemos
controlar su visibilidad mediante unos modificadores, que no sólo pueden aplicarse a la
definición de variables, sino también de clases, métodos, estructuras...
Por defecto, los miembros de una clase tienen visibilidad pública o privada dependiendo de
su tipo. Si a una variable le anteponemos la palabra Dim sin ningún modificador, será privada a
la clase. Por el contrario, si hacemos esto mismo a un método, éste será público. Para resaltar la
privacidad de un miembro, usaremos la palabra Private, asegurando que únicamente podrá
ser manipulado dentro de la propia clase, en el código de los métodos y propiedades, pero nunca
fuera, ni siquiera en clases derivadas.
Por otro lado, si queremos presentar las variables en modo público, antepondremos la
palabra Public, y así podrán usarse tanto dentro de la clase como fuera, ya sea por clases
derivadas u otras que no tengan parentesco alguno.
Destacan al mismo tiempo otros modificadores:
Protected: Son accesibles internamente, y también por aquellas clases que
hayan derivado de ésta.
Friend: Permite el acceso desde cualquier punto del proyecto al que
pertenece la clase.
Protected Friend: Los miembros son visibles en el proyecto actual y en
las clases derivadas, aunque estén en otro proyecto.
VB .NET
4
Montero y Nogal
Public class Clas
Comentarios de: Introducción a la programación orientada a objetos en Visual Basic .NET (0)
No hay comentarios