módulo 7: programación orientada a objetos en visual basic 2005

Post on 23-Jan-2016

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related