You are on page 1of 30

Programacin orientada a objetos en Visual Basic .

NET

Introduccin
Entender el concepto de clase Trabajar con clases Uso de miembros compartidos Herencia, polimorfismo y espacios de nombres

Crear Interfaz

Escribir Debug Cdigo and Deploy


Uso de Visual Studio .NET

Acceso a datos

Depurar e implantar

Msc. Adiel Omar FLORES RAMOS

Leccin: Entender el concepto de clase


Abstraccin Clase Encapsulacin Objeto

Msc. Adiel Omar FLORES RAMOS

Qu es una clase?
Una clase es una estructura preliminar que describe un objeto y define atributos y operaciones para el objeto Las clases utilizan abstraccin para poner a disposicin nicamente los elementos esenciales que definen el objeto Las clases utilizan encapsulacin para garantizar que se cumple una abstraccin Lo que ve el usuario: Lo que est encapsulado:
//verify language //authenticate PIN //validate account bal //adjust account bal

Msc. Adiel Omar FLORES RAMOS

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 informacin que puede cambiar con el tiempo
Clase
12

Objeto
Objeto

123

245

245

Msc. Adiel Omar FLORES RAMOS

Cmo utilizar el Examinador de objetos

Panel Objetos

Panel Miembros

Panel Descripcin
Msc. Adiel Omar FLORES RAMOS

Leccin: Trabajar con clases


Cmo crear una nueva clase Cmo agregar miembros de datos de una instancia Cmo agregar mtodos Cmo agregar propiedades Cmo crear una instancia de una clase Cmo utilizar los constructores Cmo utilizar los destructores

Msc. Adiel Omar FLORES RAMOS

Cmo crear una nueva clase


Crear una nueva clase utilizando el comando Agregar clase del men Proyecto Ejemplo de una nueva clase denominada BankAccount:
Public Class Class1 End Class

Public Class CuentaBancaria


End Class
Msc. Adiel Omar FLORES RAMOS

Cmo agregar miembros de datos de una instancia

Agregar un miembro de datos denominado balance

Public Class CuentaBancaria Private balance As Double


End Class

Palabra clave
Public Private Protected

Definicin
Accesible en todas partes Accesible slo en el propio tipo Accesible slo por clases que heredan de la clase

Msc. Adiel Omar FLORES RAMOS

Cmo agregar mtodos

Agregar un mtodo denominado Deposito

Public Class CuentaBancaria


Private balance As Double Public Sub Deposito(ByVal amount As Double) balance += amount End Sub End Class

Mtodos sobrecargados: dos o ms mtodos con el mismo nombre pero diferentes firmas Ejemplo: MessageBox.Show
Msc. Adiel Omar FLORES RAMOS

Cmo agregar propiedades

Agregar una propiedad:

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
Msc. Adiel Omar FLORES RAMOS

Cmo crear una instancia de una clase


Uso de la palabra clave New para crear una instancia de la clase BankAccount:
Module Banco Sub Main Dim Cuenta As New CuentaBancaria( ) Cuenta.Deposit(500.00) End Sub End Module

Msc. Adiel Omar FLORES RAMOS

Prctica: Creacin de una clase


En esta prctica, crearemos una clase CuentaBancaria con mtodos y propiedades

Msc. Adiel Omar FLORES RAMOS

Cmo utilizar los constructores


Ejecutan cdigo cuando el objeto est instanciado
Public Sub New( ) ' Perform simple initialization value = 1 End Sub

Pueden sobrecargarse, pero no utilizan la palabra clave Overloads

Public Sub New(ByVal i As Integer) ' Overloaded without Overloads keyword ' Perform more complex initialization value = i End Sub
Msc. Adiel Omar FLORES RAMOS

Cmo utilizar los destructores


Se utilizan para eliminar recursos Se invocan por el entorno de ejecucin antes de destruir el objeto
Importante: es posible que la destruccin no se produzca de modo inmediato
Protected Overrides Sub Finalize( ) ' Can close connections or other resources conn.Close End Sub

Msc. Adiel Omar FLORES RAMOS

Leccin: Uso de miembros compartidos


Cmo utilizar miembros de datos compartidos Cmo utilizar mtodos compartidos

Msc. Adiel Omar FLORES RAMOS

Cmo utilizar los miembros de datos compartidos


Los miembros de datos compartidos permiten que mltiples instancias hagan referencia a una nica variable de nivel de clase
Class SavingsAccount Public Shared InterestRate As Double Public Name As String, Balance As Double . . . End Class SavingsAccount.InterestRate = 0.03

Msc. Adiel Omar FLORES RAMOS

Cmo utilizar los mtodos compartidos


Pueden utilizarse sin declarar una instancia de una clase nicamente pueden acceder a datos compartidos
' TestClass code Public Shared Function GetComputerName( ) As String ... End Function
' Client code MessageBox.Show(TestClass.GetComputerName( ))
Msc. Adiel Omar FLORES RAMOS

Prctica: Creacin de mtodos compartidos


En esta prctica,
Crearemos una clase Agregaremos mtodos compartidos Utilizaremos mtodos compartidos

Msc. Adiel Omar FLORES RAMOS

Leccin: herencia, polimorfismo, Interfaces y espacios de nombres


Herencia Polimorfismo Estructuras y Clases Espacios de Nombres

Msc. Adiel Omar FLORES RAMOS

Qu es la herencia?

La herencia especifica una relacin es un tipo de Mltiples clases comparten los mismos atributos y operaciones, permitiendo una eficaz reutilizacin del cdigo Ejemplos:

Clase base

Un cliente es un tipo de persona


Un empleado es un tipo de persona

Persona

Clases derivadas

Cliente

Empleado

Msc. Adiel Omar FLORES RAMOS

Cmo heredar de una clase


Una clase derivada hereda de una clase base Pueden heredarse propiedades, mtodos, 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; debe ser heredada como una clase base

Msc. Adiel Omar FLORES RAMOS

Qu es el polimorfismo?
El nombre del mtodo reside en la clase base Las implementaciones del mtodo residen en las clases derivadas
BaseTax

CalculateTax( )

CountyTax
CalculateTax( )

CityTax
CalculateTax( )

Msc. Adiel Omar FLORES RAMOS

Comparacin entre clases y estructuras


Clases
Pueden definir miembros de datos, propiedades y mtodos Soportan constructores e inicializacin de miembros Soportan el mtodo Finalize

Estructuras
Pueden definir miembros de datos, propiedades y mtodos Sin constructor predeterminado ni inicializacin de miembros No soportan el mtodo Finalize No soportan herencia Tipo Valor

Extensibles por herencia


Tipo Referencia

Msc. Adiel Omar FLORES RAMOS

Cmo organizar clases en espacios de nombres


Los espacios de nombres son un sistema organizativo Los espacios de nombres proporcionan nombres cualificados 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

Msc. Adiel Omar FLORES RAMOS

Interfaces
Las interfaces, como las clases, definen un conjunto de propiedades, mtodos y eventos. Pero de forma contraria a las clases, las interfaces no proporcionan implementacin. Se implementan como clases y se definen como entidades separadas de las clases. Una interfaz representa un contrato, en el cual una clase que implementa una interfaz debe implementar cualquier aspecto de dicha interfaz exactamente como est definido.
Msc. Adiel Omar FLORES RAMOS

Definicin de interfaz
Las definiciones de interfaz se encuentran dentro de las instrucciones Interface y End Interface. Despus de la instruccin Interface, puede agregar una instruccin Inherits opcional que proporciona una lista de una o varias interfaces heredadas.
Interface IAsset End Interface

Las instrucciones Inherits deben ir antes que el resto de instrucciones de una declaracin, a excepcin de los comentarios.
Msc. Adiel Omar FLORES RAMOS

Definir la interfaz
Es posible aadir instrucciones que definan las propiedades, mtodos y eventos que sean compatibles con la interfaz. Por ejemplo, el siguiente cdigo define una funcin, una propiedad y un evento.
Interface IAsset Event ComittedChange(ByVal Success As Boolean) Property Division() As String Function GetID() As Integer End Interface

Msc. Adiel Omar FLORES RAMOS

Implementar la interfaz
Cree una clase nueva que implemente la interfaz, e incluya la palabra clave Implements en la lnea que sigue al nombre de clase. Por ejemplo, para implementar la interfaz IAsset, podra darle a la clase de implementacin el nombre Computer, como en el cdigo siguiente.
Class Computer Implements IAsset End Class

Msc. Adiel Omar FLORES RAMOS

Prctica: Crear e Implementar Interfaces


En esta prctica,
Definiremos una interfaz Implementaremos una interfaz Probaremos la implementacin de la interfaz

Msc. Adiel Omar FLORES RAMOS

You might also like