Upload
gilber-cambrano-lopez
View
11
Download
0
Embed Size (px)
DESCRIPTION
POO
Citation preview
Programacin orientada a objetos en Visual Basic .NET
IntroduccinEntender el concepto de claseTrabajar con clasesUso de miembros compartidosHerencia, polimorfismo y espacios de nombres
Leccin: Entender el concepto de clase
Qu es una clase?Una clase es una estructura preliminar que describe un objeto y define atributos y operaciones para el objetoLas clases utilizan abstraccin para poner a disposicin nicamente los elementos esenciales que definen el objetoLas clases utilizan encapsulacin para garantizar que se cumple una abstraccinLo 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 claseLos objetos tienen las siguientes cualidades:Identidad: los objetos se distinguen uno de otroComportamiento: los objetos pueden realizar tareasEstado: los objetos almacenan informacin que puede cambiar con el tiempoObjetoObjetoClase
Cmo utilizar el Examinador de objetosPanel ObjetosPanel MiembrosPanel Descripcin
Leccin: Trabajar con clasesCmo crear una nueva claseCmo agregar miembros de datos de una instanciaCmo agregar mtodos Cmo agregar propiedadesCmo crear una instancia de una claseCmo utilizar los constructoresCmo utilizar los destructores
Cmo crear una nueva claseCrear una nueva clase utilizando el comando Agregar clase del men ProyectoEjemplo de una nueva clase denominada BankAccount:Public Class Class1
End ClassPublic Class BankAccount
End Class
Cmo agregar miembros de datos de una instancia
Agregar un miembro de datos denominado balancePublic Class BankAccountPrivate balance As Double
End ClassPalabra claveDefinicinPublicAccesible en todas partesPrivateAccesible slo en el propio tipoProtectedAccesible slo por clases que heredan de la clase
Cmo agregar mtodos
Agregar un mtodo denominado Deposit
Public Class BankAccount Private balance As DoublePublic Sub Deposit(ByVal amount As Double) balance += amount End Sub
End ClassMtodos sobrecargados: dos o ms mtodos con el mismo nombre pero diferentes firmasEjemplo: MessageBox.Show
Cmo agregar propiedades
Agregar una propiedad:Public Class BankAccount Private customerName As String
Public Property Name( ) As String Get Return customerName End Get Set(ByVal Value As String) customerName = Value End Set End Property
End Class
Cmo crear una instancia de una claseUso de la palabra clave New para crear una instancia de la clase BankAccount:
Module BankSub MainDim account As New BankAccount( )account.Deposit(500.00)End Sub
End Module
Prctica: Creacin de una claseEn esta prctica, crearemos una clase BankAccount con mtodos y propiedades
Cmo utilizar los constructoresEjecutan cdigo cuando el objeto est instanciadoPublic Sub New(ByVal i As Integer) ' Overloaded without Overloads keyword ' Perform more complex initialization value = iEnd SubPueden sobrecargarse, pero no utilizan la palabra clave OverloadsPublic Sub New( ) ' Perform simple initialization value = 1End Sub
Cmo utilizar los destructoresSe utilizan para eliminar recursosSe invocan por el entorno de ejecucin antes de destruir el objetoImportante: es posible que la destruccin no se produzca de modo inmediatoProtected Overrides Sub Finalize( ) ' Can close connections or other resources conn.CloseEnd Sub
Leccin: Uso de miembros compartidosCmo utilizar miembros de datos compartidosCmo utilizar mtodos compartidos
Cmo utilizar los miembros de datos compartidosLos miembros de datos compartidos permiten que mltiples instancias hagan referencia a una nica variable de nivel de claseSavingsAccount.InterestRate = 0.03
Class SavingsAccount Public Shared InterestRate As Double Public Name As String, Balance As Double. . .
End Class
Cmo utilizar los mtodos compartidosPueden utilizarse sin declarar una instancia de una clasenicamente pueden acceder a datos compartidos' TestClass codePublic Shared Function GetComputerName( ) As String ...End Function' Client codeMessageBox.Show(TestClass.GetComputerName( ))
Prctica: Creacin de mtodos compartidos En esta prctica,Crearemos una claseAgregaremos mtodos compartidosUtilizaremos mtodos compartidos
Leccin: herencia, polimorfismo y espacios de nombres
Qu es la herencia?
La herencia especifica una relacin es un tipo deMltiples clases comparten los mismos atributos y operaciones, permitiendo una eficaz reutilizacin del cdigoEjemplos:Un cliente es un tipo de personaUn empleado es un tipo de personaClienteEmpleadoPersonaClase baseClases derivadas
Cmo heredar de una claseUna clase derivada hereda de una clase basePueden heredarse propiedades, mtodos, miembros de datos, eventos y controladores de eventos (dependiendo del mbito)Palabras claveInherits: hereda de una clase baseNotInheritable: no es heredableMustInherit: no pueden crearse instancias de la clase; debe ser heredada como una clase base
Qu es el polimorfismo?El nombre del mtodo reside en la clase baseLas implementaciones del mtodo residen en las clases derivadasBaseTaxCalculateTax( )CountyTaxCalculateTax( )CityTaxCalculateTax( )
Comparacin entre clases y estructurasClasesEstructurasPueden definir miembros de datos, propiedades y mtodosPueden definir miembros de datos, propiedades y mtodosSoportan constructores e inicializacin de miembrosSin constructor predeterminado ni inicializacin de miembrosSoportan el mtodo FinalizeNo soportan el mtodo FinalizeExtensibles por herenciaNo soportan herenciaTipo ReferenciaTipo Valor
Cmo organizar clases en espacios de nombresLos espacios de nombres son un sistema organizativoLos espacios de nombres proporcionan nombres cualificados para las clasesEjemplo: 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 nombresUtilizar la palabra clave Imports