10 programacion orientada a objetos en visual basic net

25
Programación orientada a objetos en Visual Basic .NET

Upload: gilber-cambrano-lopez

Post on 04-Nov-2015

11 views

Category:

Documents


0 download

DESCRIPTION

POO

TRANSCRIPT

  • 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