Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

27
Módulo 7: Programación Orientada a Objetos en Visual Basic 2005

Transcript of Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Page 1: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Módulo 7: Programación

Orientada a Objetos en Visual Basic 2005

Page 2: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Introducción

Entender el concepto de clase

Trabajar con clases

Uso de miembros compartidos

Herencia, polimorfismo y espacios de nombres

Debugand Deploy

Escribir Código

Acceso a datos

Uso de Visual Studio 2005

Depurar yDesplegar

Crear la

Interfaz

Page 3: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

abstracciónabstracción

claseclase

encapsulación

encapsulación

objetoobjeto

Lección: Entender el concepto de clase

Page 4: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Una clase es una estructura preliminar que describe un objeto y define atributos y operaciones para el objeto

Las clases utilizan abstracción para ofrecer únicamente los elementos esenciales que definen el objeto

Las clases utilizan encapsulamiento para garantizar que se cumple una abstracción

¿Qué es una clase?

Lo que ve el usuario: Lo que está encapsulado:

//verify language//authenticate PIN//validate account bal//adjust account bal

Page 5: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

¿Qué es un objeto?

Un objeto es una instancia de una clase

Los objetos tienen las siguientes cualidades:

Identidad: los objetos se distinguen uno de otro

Comportamiento: los objetos pueden realizar tareas

Estado: los objetos almacenan información que puede cambiar con el tiempo

123

245

12

245

ObjetoObjeto

ObjetoObjeto

ClaseClase

Page 6: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo Usar el Examinador de objetos (Object Browser)

Panel ObjetosPanel

ObjetosPanel

MiembrosPanel

Miembros

Panel Descripción

Panel Descripción

Page 7: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Lección: Trabajar con clases

Cómo crear una nueva clase

Cómo agregar miembros de datos de una instancia

Cómo agregar métodos

Cómo agregar propiedades

Cómo crear una instancia de una clase

Cómo utilizar los constructores

Cómo utilizar los destructores

Page 8: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo crear una nueva clase

Crear una nueva clase utilizando el comando Add Class del menú Proyect

Ejemplo de una nueva clase denominada CuentaBancaria:

Public Class Class1

End Class

Public Class Class1

End Class

Public Class CuentaBancaria

End Class

Public Class CuentaBancaria

End Class

Page 9: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo agregar miembros de datos de una instancia

Agregar un miembro de datos denominado saldo

Public Class CuentaBancariaPrivate saldo As Double

End Class

Public Class CuentaBancariaPrivate saldo As Double

End Class

Palabra Palabra claveclave

Palabra Palabra claveclave DefiniciónDefiniciónDefiniciónDefinición

PublicPublic Accesible en todas partesAccesible en todas partes

PrivatePrivate Accesible sólo dentro de la claseAccesible sólo dentro de la clase

ProtectedProtected Accesible sólo por clases que heredan de la claseAccesible sólo por clases que heredan de la clase

Page 10: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo agregar métodos

Agregar un método denominado Depositar

Public Class CuentaBancaria

Private saldo As Double

Public Sub Depositar(ByVal monto As Double) saldo += monto End Sub

End Class

Public Class CuentaBancaria

Private saldo As Double

Public Sub Depositar(ByVal monto As Double) saldo += monto End Sub

End Class

Métodos sobrecargados: dos o más métodos con el mismo nombre pero diferentes firmasEjemplo: MessageBox.Show

Page 11: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Agregar una propiedad:

Cómo agregar propiedades

Public Class CuentaBancaria Private nombreCliente As String

Public Property Nombre( ) As String Get Return nombreCliente End Get Set(ByVal Value As String) nombreCliente = Value End Set End Property

End Class

Public Class CuentaBancaria Private nombreCliente As String

Public Property Nombre( ) As String Get Return nombreCliente End Get Set(ByVal Value As String) nombreCliente = Value End Set End Property

End Class

Page 12: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo crear una instancia de una clase

Uso de la palabra clave New para crear una instancia de la clase BankAccount:

Module Bank

Sub MainDim cuenta As New CuentaBancaria( )cuenta.Depositar(500.00)

End Sub

End Module

Module Bank

Sub MainDim cuenta As New CuentaBancaria( )cuenta.Depositar(500.00)

End Sub

End Module

Page 13: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Demo: Creación de una clase

En esta demo, crearemos una clase CuentaBancaria con métodos y propiedades

Page 14: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo utilizar los constructores

Ejecutan código cuando el objeto está siendo instanciado

Public Sub New(ByVal i As Integer) ' Sobrecargado sin la palabra clave Overloads

' Realizar una inicialización más compleja value = iEnd Sub

Public Sub New(ByVal i As Integer) ' Sobrecargado sin la palabra clave Overloads

' Realizar una inicialización más compleja value = iEnd Sub

Pueden sobrecargarse, pero no utilizan la palabra clave Overloads

Public Sub New( )

' Realizar una inicialización simple valor = 1End Sub

Public Sub New( )

' Realizar una inicialización simple valor = 1End Sub

Page 15: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo utilizar los destructores

Se utilizan para liberar recursos

Son invocados por el entorno de ejecución antes de destruir al objeto

Importante: es posible que la destrucción no se produzca de modo inmediato

Protected Overrides Sub Finalize( )

' Puede cerrar conexiones u otros recursos

conn.Close

End Sub

Protected Overrides Sub Finalize( )

' Puede cerrar conexiones u otros recursos

conn.Close

End Sub

Page 16: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Lección: Uso de miembros compartidos

Cómo utilizar miembros de datos compartidos

Cómo utilizar métodos compartidos

Page 17: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo utilizar los miembros de datos compartidos

Los miembros de datos compartidos permiten que múltiples instancias de clase hagan referencia a una única variable de nivel de clase

CuentaAhorros.TasaInteres = 0.03CuentaAhorros.TasaInteres = 0.03

Class CuentaAhorros Public Shared TasaInteres As Double Public Nombre As String, Saldo As Double. . .

End Class

Class CuentaAhorros Public Shared TasaInteres As Double Public Nombre As String, Saldo As Double. . .

End Class

Page 18: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo utilizar los métodos compartidos

Pueden utilizarse sin declarar una instancia de una clase

Únicamente pueden acceder a datos compartidos

' Código de ClasePruebaPublic Shared Function TraerNombrePC( ) As String ...End Function

' Código de ClasePruebaPublic Shared Function TraerNombrePC( ) As String ...End Function

' Código cliente

MessageBox.Show(ClasePrueba.TraerNombrePC( ))

' Código cliente

MessageBox.Show(ClasePrueba.TraerNombrePC( ))

Page 19: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Demo: Creación de métodos compartidos

En esta demo,

Crearemos una clase

Agregaremos métodos compartidos

Utilizaremos métodos compartidos

Page 20: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Lección: herencia, polimorfismo y espacios de nombres

HerenciaHerencia

PolimorfismoPolimorfismo

Estructuras y clases

Estructuras y clases

Espacios de nombres

Espacios de nombres

Page 21: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

¿Qué es la herencia?

La herencia especifica una relación “es un tipo de”

Múltiples clases comparten los mismos atributos y operaciones, permitiendo una eficaz reutilización del código

Ejemplos:

Un cliente “es un tipo de” persona

Un empleado “es un tipo de” persona

Cliente Empleado

Persona

Clase base

Clases derivadas

Page 22: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo heredar de una clase

Una clase derivada hereda de una clase base

Pueden heredarse propiedades, métodos, miembros de datos, eventos y controladores de eventos (dependiendo del ámbito)

Palabras clave

Inherits: hereda de una clase base

NotInheritable: no es heredable

MustInherit: no pueden crearse instancias de la clase; solo puede heredarse de ella

Page 23: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

¿Qué es el polimorfismo?

El nombre del método reside en la clase base

Las implementaciones del método residen en las clases derivadas

ImpuestoBaseImpuestoBase

CalcularImpuesto( )CalcularImpuesto( )

ImpuestoProvincialImpuestoProvincial

CalcularImpuesto( )CalcularImpuesto( )

ImpuestoCiudadanoImpuestoCiudadano

CalcularImpuesto( )CalcularImpuesto( )

Page 24: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Comparación entre clases y estructuras

ClasesClasesClasesClases EstructurasEstructurasEstructurasEstructuras

Pueden definir miembros de datos,propiedades y métodos

Pueden definir miembros de datos,propiedades y métodos

Pueden definir miembros de datos,propiedades y métodosPueden definir miembros de datos,propiedades y métodos

Soportan constructores e inicialización de miembros

Soportan constructores e inicialización de miembros

Sin constructor predeterminado niinicialización de miembrosSin constructor predeterminado niinicialización de miembros

Soportan el método FinalizeSoportan el método Finalize No soportan el método FinalizeNo soportan el método Finalize

Extensibles por herenciaExtensibles por herencia No soportan herenciaNo soportan herencia

Tipo ReferenciaTipo Referencia Tipo ValorTipo Valor

Page 25: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Cómo organizar clases en espacios de nombres

Los espacios de nombres son un sistema organizativo

Los espacios de nombres proporcionan nombres calificados para las clases

Ejemplo: System.Windows.Forms.Button

Para importar un espacio de nombres:

A nivel de proyecto, agregar una referencia a la DLL que contiene el espacio de nombres

Utilizar la palabra clave Imports

Page 26: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Revisión

Entender el concepto de clase

Trabajar con clases

Uso de miembros compartidos

Herencia, polimorfismo y espacios de nombres

Debugand Deploy

Escribir Código

Acceso a datos

Uso de Visual Studio 2005

Depurar yDesplegar

Crear la

Interfaz

Page 27: Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.

Laboratorio 7.1: Creando una Clase Derivada

Ejercicio 1: Creando una Clase Formulario Derivada