Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Net
Ahora bien, al concepto de la POO para obtener las características o atributos de una clase se le
denomina Abstracción, que consiste en colocar los atributos que sean necesarios en nuestra clase,
teniendo en cuenta las necesidades del sistema.
¿Qué es el encapsulamiento?
El encapsulamiento, consiste en ocultar los atributos o características de un objeto, para que estos
no sean accedidos desde otros objetos, de modo que, al utilizar el objeto este cumpla con las
operaciones por la cual fue creado, pero ocultando el funcionamiento interno del mismo a los
objetos que interactúan entre sí.
Por lo tanto, se hace necesario ocultar esas propiedades funcionales de nuestros objetos, no solo
por convención, si no para evitar que los modifiquen y pierdan su funcionalidad.
Para utilizar este concepto en Visual Basic. Net, tenemos que utilizar el modificador de acceso
Private en los atributos de nuestras clases.
Propiedades
En Visual Basic.NET, tenemos otra forma de desarrollar por decirlo de alguna forma, los
métodos Getter y Setter en una sola función, tal función se denominan Propiedades, la
cuales permiten incluir en su interior los métodos de modificación y acceso, sin necesidad
de desarrollar dos funciones por aparte. Cabe resaltar que en algunos casos en mejor utilizar
los métodos Getter y Setter por separado.
Su implementación es la siguiente:
• En el caso de las variables o atributos de clase que implementen esta palabra clave, el
valor solo será de la clase y no copia de una instancia u objeto.
• En el caso de los métodos, para utilizarlos no se debe crear una instancia de la clase para
acceder a ellos, sino que se coloca el nombre de la clase seguido del método (esto es el
equivalente de los métodos estáticos en lenguajes como por ejemplo Java).
¿Qué es la asociación?
La asociación es cuando un objeto se relaciona con otro para desarrollar una tarea específica o
para una solución de un problema.
Figure 8.Forma correcta de establecer una asociación entre clases en Diagrama de clases UML.
Sin embargo, esta sería la forma de implementarlo en Visual Basic. Net si se pudiera establecer en
un diagrama de clases UML.
Figure 9. Forma incorrecta de establecer una asociación entre clases en Diagrama de clases UML.
¿Qué es la Herencia?
En programación orientada a objetos, la herencia consiste en reutilizar los atributos y métodos de
una clase base o también llamada clase padre, donde la clase que hereda dichas características y
acciones es denominada clase derivada o clase hija.
Jerarquía de Herencia
Cuando utilizamos este concepto, en realidad estamos creando un esquema donde estamos
representando la clase base y las clases derivadas, en el mundo de la programación orientada a
objetos se le denomina jerarquía de herencia, donde las clases derivadas entre más abajo estén en
dicha jerarquía son más específicas, es decir, son más completas y funcionales, puesto que cuentan
con más atributos y métodos que sus clases bases, por otro lado, en el caso que las clases derivadas
estén en la cúspide o se encuentren más arriba en la jerarquía de herencia son más genéricas o
menos funcionales.
En Visual Basic. Net para establecer que una clase hija hereda de una clase padre tenemos que
hacer uso de la palabra clave inherits.
Array de objetos
Las sintaxis de estos Arrays son iguales a los que trabajamos con anterioridad, la única diferencia
es que no utilizamos tipos de datos primitivos, sino clases para poder almacenar objetos.
• Una interfaz no desarrolla los eventos, métodos o propiedades, solo los declara, parecido a
lo que realiza una clase Abstracta y en particular a los métodos Abstractos.
• Obliga a las clases que la implemente a desarrollar los eventos, métodos o propiedades que
esta alberga.
Figure 12.Implemetanción de una interfaz en una clase en Diagrama de clases UML.
¿Qué es el polimorfismo?
El polimorfismo es la propiedad de la herencia que permite a los objetos comportarse de distintas
maneras, es decir, una operación de un objeto puede tener el mismo nombre que otra operación
de otro objeto, no obstante, los dos métodos se comportan de manera diferente para cada objeto.
Por ejemplo, tenemos una clase base llamada FiguraGeometrica con un método dibujar(), luego de
esa clase derivan dos que son Triangulo y Cuadrado, ambas heredan el método dibujar(), pero ¿si
se dibuja un triángulo de la misma forma que un cuadrado?, es aquí donde entra el polimorfismo,
porque ambas clases tienen el mismo método dibujar(), pero este se tiene que comportar de forma
diferente para cada una.
Figure 13.Ejemplo de Polimorfismo en Diagrama de clases UML.
El polimorfismo en Visual Basic. Net se puede realizar de dos formas, la primera forma es utilizando
solo la herencia, sobrescribiendo el método en cada clase para que este se comporte de forma
distinta en cada una de ellas. Por otro lado, la segunda forma es utilizar la herencia complementada
con una Interfaz, es decir, en cada clase implementamos la interfaz que tiene en su interior el
método en común, pero que se va a comportar diferente forma en cada una de las clases que lo
implementen.
Para realizar la sobre escritura de métodos o propiedades, la clase base debe implementar la palabra
clave Overridable, en el método o la propiedad que se le va a modificar o reemplazar el
comportamiento desde las clases derivadas. Ahora bien, para que una clase derivada puede
reemplazar el comportamiento de un método o propiedad heredado tiene que implementar la
palabra clave Overrides.
Clase Object
Es la clase base que se encuentra en lo más alto en la jerarquía de clases en Visual Basic.NET, por lo
que todas las clases predefinidas y las creadas por el programador heredan de ella.
Algunas características:
• En Visual Basic.NET, si una clase quiere heredar de Object, no es necesario utilizar la palabra
reservada Inherits, puesto que, al crear una clase, VB.NET automáticamente nos realiza esta
tarea.
Por lo tanto, el uso de la clase Object para almacenar valores de cualquier tipo nos permiten realizar
programas que reciban cualquier objeto, pero a un precio muy alto en relación a rendimiento,
puesto que no podemos utilizar los métodos del objeto que almacenamos en una variable de tipo
Object, esto debido a lo que ya hemos visto en temas anteriores en la Herencia, y es que, si
almacenamos un objeto hijo en un objeto padre, solo podremos utilizar los métodos de la clase
padre, además tenemos que hacer mucho uso del Casting.
¿Qué es el Casting?
El casting es el proceso que permite cambiar o transformar el tipo de dato de una variable a otra,
siempre y cuando haya una relación entre ellas, más concretamente con las clases, debe existir una
relación de herencia entre dichas clases.
Para realizar el casting en vb. Net se utilizan varias formas, la más efectiva es utilizar la función
TryCast.
• Para que una clase sea abstracta deber tener por lo menos un método abstracto.
• Un método abstracto es un tipo de acción que se declara dentro de la clase abstracta, pero
que no se define o se le asigna alguna función, para que esto ocurra, el método debe ser
heredado por otra clase, la cual si tendrá por obligación definir las instrucciones que este
realizará.
En Visual Basic.NET, para que una clase sea abstracta se utiliza la palabra reservada MustInherit,
por otra parte, para que un método sea abstracto en VB.NET, se coloca la palabra reservada
MustOverride.
Figure 17.Forma para que una clase sea Abstracta en Vb.Net
Modificadores de acceso
Los modificadores de Acceso nos permiten establecer el alcance que tendrá algún elemento
perteneciente a nuestro programa o proyecto, dichos elementos pueden ser clases, atributos,
métodos, módulos, entre otros. En Visual Basic.NET, tenemos cuatro formas de acceder a los
atributos y métodos de una clase, a un módulo o a una variable en particular, dichos accesos son el
Public, Private, Protected, y el modificador por defecto. A continuación, se mostrarán el alcance de
los modificadores de acceso anteriormente descritos.
Modificador Acceso
Por defecto Puede ser accedido desde la clase y desde el espacio de nombre.
En Visual Basic.NET, existen una gran variedad de excepciones. Cada error en tiempo de ejecución
tiene una excepción particular y deberá ser tratada como tal, sin embargo, se pueden capturar varias
de estas excepciones en un solo bloque de código, para cada uno de los casos utilizamos las palabras
reservadas Try (Intenta) y Catch (Captura), donde las instrucciones del Try serán las líneas de código
que intentaremos ejecutar y las del Catch, será para capturar la excepción y si se quiere, mostrar un
mensaje que ayude al usuario a ejecutar bien nuestro programa.
En algunas ocasiones, nuestros programas no constan de algunas excepciones que necesiten ser
controladas con un bloque Try Catch, sin embargo, hay situaciones particulares donde seamos
nosotros los que lancemos una Excepción y no el lenguaje VB.NET como tal.
Para ello utilizamos la cláusula Throw, que permite lanzar una Excepción de acuerdo a las
necesidades del programador.
Uso de Finally
Es un bloque de código que se ejecuta siempre, incluso si falla al intentar ejecutar la aplicación por
el lanzamiento de una Excepción. Por lo tanto, si queremos utilizar este bloque es necesario saber
que código queremos que se ejecute en el caso de que ocurra una Excepción.
¿Qué son los tipos enumerados?
Los tipos enumerados permiten manejar un conjunto de valores constantes en nuestros
programas. Para usarlos se deben tener en cuenta las siguientes características:
• Sus miembros son nombres identificativos según la creación o nombre del tipo
Enumerado.
• Para usarlos, lo tenemos que realizar de igual manera como una clase, se coloca el nombre
del tipo Enumerado, seguido del nombre del miembro.