SlideShare una empresa de Scribd logo
1 de 25
Programación
orientada a objetos
en Visual Basic .NET
Introducción
 Entender el concepto
de clase
 Trabajar con clases
 Uso de miembros
compartidos
 Herencia, polimorfismo
y espacios de nombres
Debug
and Deploy
Escribir
Código
Acceso
a datos
Uso de Visual
Studio .NET
Depurar e
implantar
Crear
Interfaz
abstracción
clase
encapsulación
objeto
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 poner a
disposición únicamente los elementos esenciales que
definen el objeto
 Las clases utilizan encapsulación 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 utilizar el Examinador de objetos
Panel
Objetos
Panel
Objetos
Panel
Miembros
Panel
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 Agregar
clase del menú Proyecto
 Ejemplo de una nueva clase denominada BankAccount:
Public Class Class1
End Class
Public Class Class1
End Class
Public Class BankAccount
End Class
Public Class BankAccount
End Class
Cómo agregar miembros de datos de una instancia
 Agregar un miembro de datos denominado balance
Public Class BankAccount
Private balance As Double
End Class
Public Class BankAccount
Private balance As Double
End Class
PalabraPalabra
claveclave
PalabraPalabra
claveclave DefiniciónDefiniciónDefiniciónDefinición
PublicPublic Accesible en todas partesAccesible en todas partes
PrivatePrivate Accesible sólo en el propio tipoAccesible sólo en el propio tipo
ProtectedProtected Accesible sólo por clases que heredan de la
clase
Accesible sólo por clases que heredan de la
clase
Cómo agregar métodos
 Agregar un método denominado Deposit
Public Class BankAccount
Private balance As Double
Public Sub Deposit(ByVal amount As Double)
balance += amount
End Sub
End Class
Public Class BankAccount
Private balance As Double
Public Sub Deposit(ByVal amount As Double)
balance += amount
End Sub
End Class
 Métodos sobrecargados: dos o más métodos con el
mismo nombre pero diferentes firmas
Ejemplo: MessageBox.Show
 Agregar una propiedad:
Cómo agregar propiedades
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
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
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 Main
Dim account As New BankAccount( )
account.Deposit(500.00)
End Sub
End Module
Module Bank
Sub Main
Dim account As New BankAccount( )
account.Deposit(500.00)
End Sub
End Module
Práctica: Creación de una clase
 En esta práctica, crearemos una clase
BankAccount con métodos y propiedades
Cómo utilizar los constructores
 Ejecutan código cuando el objeto está instanciado
Public Sub New(ByVal i As Integer)
' Overloaded without Overloads keyword
' Perform more complex initialization
value = i
End Sub
Public Sub New(ByVal i As Integer)
' Overloaded without Overloads keyword
' Perform more complex initialization
value = i
End Sub
 Pueden sobrecargarse, pero no utilizan la palabra clave
Overloads
Public Sub New( )
' Perform simple initialization
value = 1
End Sub
Public Sub New( )
' Perform simple initialization
value = 1
End Sub
Cómo utilizar los destructores
 Se utilizan para eliminar recursos
 Se invocan por el entorno de ejecución antes de
destruir el objeto
 Importante: es posible que la destrucción no se
produzca de modo inmediato
Protected Overrides Sub Finalize( )
' Can close connections or other resources
conn.Close
End Sub
Protected Overrides Sub Finalize( )
' Can close connections or other resources
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 hagan referencia a una única
variable de nivel de clase
SavingsAccount.InterestRate = 0.03SavingsAccount.InterestRate = 0.03
Class SavingsAccount
Public Shared InterestRate As Double
Public Name As String, Balance As Double
. . .
End Class
Class SavingsAccount
Public Shared InterestRate As Double
Public Name As String, Balance 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
' TestClass code
Public Shared Function GetComputerName( ) As String
...
End Function
' TestClass code
Public Shared Function GetComputerName( ) As String
...
End Function
' Client code
MessageBox.Show(TestClass.GetComputerName( ))
' Client code
MessageBox.Show(TestClass.GetComputerName( ))
Práctica: Creación de métodos compartidos
 En esta práctica,
 Crearemos una clase
 Agregaremos métodos compartidos
 Utilizaremos métodos compartidos
Lección: herencia, polimorfismo y espacios de nombres
Herencia
Polimorfismo
Estructuras y clases
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;
debe ser heredada como una clase base
¿Qué es el polimorfismo?
 El nombre del método reside en la clase base
 Las implementaciones del método residen en las
clases derivadas
BaseTaxBaseTax
CalculateTax( )CalculateTax( )
CountyTaxCountyTax
CalculateTax( )CalculateTax( )
CityTaxCityTax
CalculateTax( )CalculateTax( )
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étodos
Pueden 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 ni
inicialización de miembros
Sin constructor predeterminado ni
inicializació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
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Programacion orientada
Programacion orientadaProgramacion orientada
Programacion orientada
 
Tipos de usuarios en una base de datos
Tipos de usuarios en una base de datosTipos de usuarios en una base de datos
Tipos de usuarios en una base de datos
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Middleware
MiddlewareMiddleware
Middleware
 
Componentes en-poo
Componentes en-pooComponentes en-poo
Componentes en-poo
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
Diferencias swing y awt
Diferencias swing y awtDiferencias swing y awt
Diferencias swing y awt
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Disparadores - base de datos
Disparadores - base de datosDisparadores - base de datos
Disparadores - base de datos
 
Patron Singleton
Patron SingletonPatron Singleton
Patron Singleton
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Lenguaje de especificación
Lenguaje de especificaciónLenguaje de especificación
Lenguaje de especificación
 

Destacado

10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 
Programación estructurada vs programación orientada a objetos
Programación estructurada vs programación orientada a objetosProgramación estructurada vs programación orientada a objetos
Programación estructurada vs programación orientada a objetosUVM
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosWilliam Devia
 
Abstraccion de datos
Abstraccion de datosAbstraccion de datos
Abstraccion de datosDIOSANEGRA
 
Programación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaProgramación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaIngeniería Nica
 
POO Programación Orientada a Objetos
POO Programación Orientada a ObjetosPOO Programación Orientada a Objetos
POO Programación Orientada a ObjetosLuis Berganza
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaMichael de la Cruz
 

Destacado (11)

10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
Programación estructurada vs programación orientada a objetos
Programación estructurada vs programación orientada a objetosProgramación estructurada vs programación orientada a objetos
Programación estructurada vs programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Tipos De Datos Abstractos
Tipos De Datos AbstractosTipos De Datos Abstractos
Tipos De Datos Abstractos
 
Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 
Abstraccion de datos
Abstraccion de datosAbstraccion de datos
Abstraccion de datos
 
Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
Visual basic-net
Visual basic-netVisual basic-net
Visual basic-net
 
Programación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaProgramación Orientada a Objeto y Java
Programación Orientada a Objeto y Java
 
POO Programación Orientada a Objetos
POO Programación Orientada a ObjetosPOO Programación Orientada a Objetos
POO Programación Orientada a Objetos
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 

Similar a programacion orientada a objetos en visual basic net

Similar a programacion orientada a objetos en visual basic net (20)

5poo
5poo5poo
5poo
 
10-programacion-orientada-a-objetos.ppt
10-programacion-orientada-a-objetos.ppt10-programacion-orientada-a-objetos.ppt
10-programacion-orientada-a-objetos.ppt
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
 
Visual basic
Visual basicVisual basic
Visual basic
 
Csharp
CsharpCsharp
Csharp
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basic
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basic
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Presentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoFPresentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoF
 
Programming oriented to objects
Programming oriented to objectsProgramming oriented to objects
Programming oriented to objects
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (13)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

programacion orientada a objetos en visual basic net

  • 2. Introducción  Entender el concepto de clase  Trabajar con clases  Uso de miembros compartidos  Herencia, polimorfismo y espacios de nombres Debug and Deploy Escribir Código Acceso a datos Uso de Visual Studio .NET Depurar e implantar Crear Interfaz
  • 4.  Una clase es una estructura preliminar que describe un objeto y define atributos y operaciones para el objeto  Las clases utilizan abstracción para poner a disposición únicamente los elementos esenciales que definen el objeto  Las clases utilizan encapsulación 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
  • 5. ¿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
  • 6. Cómo utilizar el Examinador de objetos Panel Objetos Panel Objetos Panel Miembros Panel Miembros Panel Descripción Panel Descripción
  • 7. 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
  • 8. Cómo 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 Class1 End Class Public Class BankAccount End Class Public Class BankAccount End Class
  • 9. Cómo agregar miembros de datos de una instancia  Agregar un miembro de datos denominado balance Public Class BankAccount Private balance As Double End Class Public Class BankAccount Private balance As Double End Class PalabraPalabra claveclave PalabraPalabra claveclave DefiniciónDefiniciónDefiniciónDefinición PublicPublic Accesible en todas partesAccesible en todas partes PrivatePrivate Accesible sólo en el propio tipoAccesible sólo en el propio tipo ProtectedProtected Accesible sólo por clases que heredan de la clase Accesible sólo por clases que heredan de la clase
  • 10. Cómo agregar métodos  Agregar un método denominado Deposit Public Class BankAccount Private balance As Double Public Sub Deposit(ByVal amount As Double) balance += amount End Sub End Class Public Class BankAccount Private balance As Double Public Sub Deposit(ByVal amount As Double) balance += amount End Sub End Class  Métodos sobrecargados: dos o más métodos con el mismo nombre pero diferentes firmas Ejemplo: MessageBox.Show
  • 11.  Agregar una propiedad: Cómo agregar propiedades 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 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
  • 12. 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 Main Dim account As New BankAccount( ) account.Deposit(500.00) End Sub End Module Module Bank Sub Main Dim account As New BankAccount( ) account.Deposit(500.00) End Sub End Module
  • 13. Práctica: Creación de una clase  En esta práctica, crearemos una clase BankAccount con métodos y propiedades
  • 14. Cómo utilizar los constructores  Ejecutan código cuando el objeto está instanciado Public Sub New(ByVal i As Integer) ' Overloaded without Overloads keyword ' Perform more complex initialization value = i End Sub Public Sub New(ByVal i As Integer) ' Overloaded without Overloads keyword ' Perform more complex initialization value = i End Sub  Pueden sobrecargarse, pero no utilizan la palabra clave Overloads Public Sub New( ) ' Perform simple initialization value = 1 End Sub Public Sub New( ) ' Perform simple initialization value = 1 End Sub
  • 15. Cómo utilizar los destructores  Se utilizan para eliminar recursos  Se invocan por el entorno de ejecución antes de destruir el objeto  Importante: es posible que la destrucción no se produzca de modo inmediato Protected Overrides Sub Finalize( ) ' Can close connections or other resources conn.Close End Sub Protected Overrides Sub Finalize( ) ' Can close connections or other resources conn.Close End Sub
  • 16. Lección: Uso de miembros compartidos  Cómo utilizar miembros de datos compartidos  Cómo utilizar métodos compartidos
  • 17. Cómo utilizar los miembros de datos compartidos  Los miembros de datos compartidos permiten que múltiples instancias hagan referencia a una única variable de nivel de clase SavingsAccount.InterestRate = 0.03SavingsAccount.InterestRate = 0.03 Class SavingsAccount Public Shared InterestRate As Double Public Name As String, Balance As Double . . . End Class Class SavingsAccount Public Shared InterestRate As Double Public Name As String, Balance As Double . . . End Class
  • 18. Cómo utilizar los métodos 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 ' TestClass code Public Shared Function GetComputerName( ) As String ... End Function ' Client code MessageBox.Show(TestClass.GetComputerName( )) ' Client code MessageBox.Show(TestClass.GetComputerName( ))
  • 19. Práctica: Creación de métodos compartidos  En esta práctica,  Crearemos una clase  Agregaremos métodos compartidos  Utilizaremos métodos compartidos
  • 20. Lección: herencia, polimorfismo y espacios de nombres Herencia Polimorfismo Estructuras y clases Espacios de nombres
  • 21. ¿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
  • 22. 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; debe ser heredada como una clase base
  • 23. ¿Qué es el polimorfismo?  El nombre del método reside en la clase base  Las implementaciones del método residen en las clases derivadas BaseTaxBaseTax CalculateTax( )CalculateTax( ) CountyTaxCountyTax CalculateTax( )CalculateTax( ) CityTaxCityTax CalculateTax( )CalculateTax( )
  • 24. 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étodos Pueden 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 ni inicialización de miembros Sin constructor predeterminado ni inicializació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
  • 25. Cómo 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