Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.
-
Upload
ricardo-maldonado-benitez -
Category
Documents
-
view
219 -
download
0
Transcript of Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.
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
abstracciónabstracción
claseclase
encapsulación
encapsulación
objetoobjeto
Lección: Entender el concepto de clase
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
¿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
Cómo Usar el Examinador de objetos (Object Browser)
Panel ObjetosPanel
ObjetosPanel
MiembrosPanel
Miembros
Panel Descripción
Panel Descripción
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
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
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
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
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
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
Demo: Creación de una clase
En esta demo, crearemos una clase CuentaBancaria con métodos y propiedades
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
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
Lección: Uso de miembros compartidos
Cómo utilizar miembros de datos compartidos
Cómo utilizar métodos compartidos
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
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( ))
Demo: Creación de métodos compartidos
En esta demo,
Crearemos una clase
Agregaremos métodos compartidos
Utilizaremos métodos compartidos
Lección: herencia, polimorfismo y espacios de nombres
HerenciaHerencia
PolimorfismoPolimorfismo
Estructuras y clases
Estructuras y clases
Espacios de nombres
Espacios de nombres
¿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
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
¿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( )
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
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
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
Laboratorio 7.1: Creando una Clase Derivada
Ejercicio 1: Creando una Clase Formulario Derivada