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
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
Objeto
Objeto
Clase
Cómo utilizar el Examinador de objetos
Panel
Objetos
Panel
Miembros
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 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
Palabra
clave
Definición
Public Accesible en todas partes
Private Accesible sólo en el propio tipo
Protected
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
 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
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
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
 Pueden sobrecargarse, pero no utilizan la palabra clave
Overloads
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
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.03
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
' 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
¿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
BaseTax
CalculateTax( )
CountyTax
CalculateTax( )
CityTax
CalculateTax( )
Comparación entre clases y estructuras
Clases Estructuras
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
Sin constructor predeterminado ni
inicialización de miembros
Soportan el método Finalize No soportan el método Finalize
Extensibles por herencia No soportan herencia
Tipo Referencia Tipo 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 (20)

jQuery - Chapter 1 - Introduction
 jQuery - Chapter 1 - Introduction jQuery - Chapter 1 - Introduction
jQuery - Chapter 1 - Introduction
 
Backend roadmap
Backend roadmapBackend roadmap
Backend roadmap
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Basic Python Django
Basic Python DjangoBasic Python Django
Basic Python Django
 
Jerarquía de clases de awt
Jerarquía de clases de awtJerarquía de clases de awt
Jerarquía de clases de awt
 
Bootstrap.pptx
Bootstrap.pptxBootstrap.pptx
Bootstrap.pptx
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Aula 05
Aula 05Aula 05
Aula 05
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Angular 2
Angular 2Angular 2
Angular 2
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Dom
Dom Dom
Dom
 
Kotlin Code style guidelines
Kotlin Code style guidelinesKotlin Code style guidelines
Kotlin Code style guidelines
 
Webpack slides
Webpack slidesWebpack slides
Webpack slides
 
Django Models
Django ModelsDjango Models
Django Models
 
Css box-sizing
Css box-sizingCss box-sizing
Css box-sizing
 
Chapter 3: ado.net
Chapter 3: ado.netChapter 3: ado.net
Chapter 3: ado.net
 

Similar a 10-programacion-orientada-a-objetos.ppt

Similar a 10-programacion-orientada-a-objetos.ppt (20)

5poo
5poo5poo
5poo
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic net
 
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#
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Taller 1 2
Taller 1 2Taller 1 2
Taller 1 2
 
Vn-Desarrollo
Vn-DesarrolloVn-Desarrollo
Vn-Desarrollo
 
Presentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoFPresentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoF
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
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
 
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
 
Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetos
 
Clases en VB
Clases en VBClases en VB
Clases en VB
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
Csharp
CsharpCsharp
Csharp
 
Memch clases lep ii
Memch   clases lep iiMemch   clases lep ii
Memch clases lep ii
 
Lp2docclases
Lp2docclasesLp2docclases
Lp2docclases
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 

Último

Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 

Último (7)

Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 

10-programacion-orientada-a-objetos.ppt

  • 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
  • 3. Lección: Entender el concepto de clase
  • 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 Objeto Objeto Clase
  • 6. Cómo utilizar el Examinador de objetos Panel Objetos Panel Miembros 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 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 Palabra clave Definición Public Accesible en todas partes Private Accesible sólo en el propio tipo Protected 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  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
  • 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
  • 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  Pueden sobrecargarse, pero no utilizan la palabra clave Overloads 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
  • 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.03 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 ' 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
  • 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 BaseTax CalculateTax( ) CountyTax CalculateTax( ) CityTax CalculateTax( )
  • 24. Comparación entre clases y estructuras Clases Estructuras 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 Sin constructor predeterminado ni inicialización de miembros Soportan el método Finalize No soportan el método Finalize Extensibles por herencia No soportan herencia Tipo Referencia Tipo 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