Programacióón con
n con
Programaci
Visual Basic .NET
Visual Basic .NET
httphttp://://alarcos.inf
alarcos.inf--cr.uclm.es
cr.uclm.es//perper//fruiz
fruiz//curcur//vbnvbn//vbn.htm
vbn.htm
3 3 –– Orientaci
Orientacióón a Objetos en
n a Objetos en
Visual Basic .NET
Visual Basic .NET
Francisco Ruiz
Francisco Ruiz
Manuel Serrano
Manuel Serrano
Escuela Superior de Informááticatica
Escuela Superior de Inform
Universidad de Castilla--La Mancha
La Mancha
Universidad de Castilla
Manuel ÁÁngel Serrano Mart
Manuel
ngel Serrano Martíínn
Contacto Personal:
Contacto Personal:
[email protected]
Email: :
[email protected]
Email
alarcos.inf--cr.uclm.es
Web: Web: alarcos.inf
http://alarcos.inf--cr.uclm.es/per/fruiz/cur/vbn/vbn.htm
Curso: http://alarcos.inf
cr.uclm.es/per/fruiz/cur/vbn/vbn.htm
Curso:
cr.uclm.es//perper//mserrano
mserrano//
alarcos.inf--cr.uclm.es
cr.uclm.es
alarcos.inf
UCLM-ESI. Programación con Visual Basic .NET
3. 2
(cid:132)(cid:132)11
Visual Basic .NET
n con Visual Basic .NET
Programacióón con
Programaci
Contenidos sesióón 3n 3
Contenidos sesi
•• Orientaci
Orientacióón a Objetos.
n a Objetos.
•• Encapsulaci
Encapsulacióón.n.
•• Polimorfismo.
Polimorfismo.
•• Espacios de Nombres.
Espacios de Nombres.
•• Herencia.
Herencia.
•• Interfaces.
Interfaces.
•• Estructuras.
Estructuras.
•• Eventos.
Eventos.
•• Clases Predefinidas.
Clases Predefinidas.
UCLM-ESI. Programación con Visual Basic .NET
3. 3
Orientacióón a Objetos.
n a Objetos.
Orientaci
Programacióón Estructurada vs. OO
n Estructurada vs. OO
Programaci
Ej. Gestióón de una Empresa
n de una Empresa
Ej. Gesti
psNombre As As String
String
Module General
Module General
Public psNombre
Public
Public SubSub MainMain()()
Public
' ......
' ......
EndEnd SubSub
Public SubSub CalcularVacaciones(ByVal
Public
ByVal ldtFechaInicio
As Date, ByVal
ByVal
' ......
' ......
EndEnd SubSub
' otros procedimientos del móódulodulo
' otros procedimientos del m
' ......
' ......
EndEnd Module
Module
ldtFechaInicio As Date,
CalcularVacaciones(ByVal liIDEmpleado
liIDEmpleado As As Integer
liNumDias As As Integer
Integer))
ByVal liNumDias
Integer, _, _
CrearEmpleado(ByVal liIDEmpleado
liIDEmpleado As As Integer
lsApellidos As As String
String, _, _
ByVal lsApellidos
Integer, _, _
ByVal ldtFechaAlta
ldtFechaAlta As Date)
As Date)
psApellidos As As String
String
lsNombre As As String
lsDNI As As String
Module Varios
Module Varios
Public psApellidos
Public
Public SubSub CrearEmpleado(ByVal
Public
String, , ByVal
ByVal lsNombre
ByVal
ByVal lsDNI
ByVal
' ......
' ......
EndEnd SubSub
' otros procedimientos del móódulodulo
' otros procedimientos del m
' ......
' ......
EndEnd Module
Module
String, , ByVal
Module Pagos
Module Pagos
TransfNomina(ByVal
Public SubSub TransfNomina(ByVal
Public
ldbImporte As As Double
Double))
ByVal _ _ ldbImporte
ByVal
liIDEmpleado As As Integer
Integer, ,
liIDEmpleado
SubSub MostrarEmpleado(ByVal
MostrarEmpleado(ByVal
liIDEmpleado
liIDEmpleado
As As
' ......
' ......
EndEnd SubSub
Public
Public
Integer))
Integer
' ......
' ......
EndEnd SubSub
' otros procedimientos del móódulodulo
' otros procedimientos del m
' ......
' ......
EndEnd Module
Module
blicas en los móódulos
dulos
•• Variables p
Variables púúblicas en los m
•• Demasiados procedimientos
Demasiados procedimientos
•• CCóódigo disperso
digo disperso
•• DifDifíícil mantenimiento
cil mantenimiento
UCLM-ESI. Programación con Visual Basic .NET
3. 4
(cid:132)(cid:132)22
Orientacióón a Objetos.
n a Objetos.
Orientaci
Estructuras de cóódigodigo
Estructuras de c
Conjunto de procedimientos e informacióón que ejecutan una
n que ejecutan una
Conjunto de procedimientos e informaci
serie de procesos destinados a resolver un grupo de tareas
serie de procesos destinados a resolver un grupo de tareas
con un denominador comúún. n.
con un denominador com
tantas estructuras de cóódigo como aspectos del
digo como aspectos del
HabrHabráá tantas estructuras de c
programa sea necesario resolver.
programa sea necesario resolver.
Los procedimientos y los datos que contenga la estructura sóólo lo
Los procedimientos y los datos que contenga la estructura s
podráán acceder y ser accedidos por otros procedimientos y
n acceder y ser accedidos por otros procedimientos y
podr
datos bajo una serie de reglas.
datos bajo una serie de reglas.
objetos
estructuras de cóódigodigo (cid:198)(cid:198) objetos
estructuras de c
UCLM-ESI. Programación con Visual Basic .NET
3. 5
Orientacióón a Objetos.
n a Objetos.
Orientaci
Objetos
Objetos
Un objeto es una agrupacióón de c
Un objeto es una agrupaci
n de cóódigo, compuesta de
digo, compuesta de
propiedades (atributos) y méétodos, que pueden ser
todos, que pueden ser
propiedades (atributos) y m
manipulados como una entidad independiente.
manipulados como una entidad independiente.
Las propiedades definen los datos o informacióón del
n del
Las propiedades definen los datos o informaci
objeto, permitiendo consultar o modificar su estado;
objeto, permitiendo consultar o modificar su estado;
mientras que los méétodos son rutinas que definen su
todos son rutinas que definen su
mientras que los m
comportamiento.
comportamiento.
Un objeto desempeñña un trabajo concreto dentro de una
a un trabajo concreto dentro de una
Un objeto desempe
estructura organizativa de nivel superior, formada por
estructura organizativa de nivel superior, formada por
mmúúltiples objetos, cada uno de los cuales ejerce una
ltiples objetos, cada uno de los cuales ejerce una
tarea particular para la cual ha sido diseññado.
ado.
tarea particular para la cual ha sido dise
Objeto ““Empleado
Empleado””
Objeto
UCLM-ESI. Programación con Visual Basic .NET
3. 6
(cid:132)(cid:132)33
Orientacióón a Objetos.
n a Objetos.
Orientaci
Clases
Clases
Conjunto de especificaciones o normas que definen cóómo mo
Conjunto de especificaciones o normas que definen c
va a ser creado un objeto de un tipo determinado.
va a ser creado un objeto de un tipo determinado.
manual de instrucciones que contiene las indicaciones
que contiene las indicaciones
para crear y manjar un objeto.
para crear y manjar un objeto.
≈≈ manual de instrucciones
clase
clase
objeto
objeto
UCLM-ESI. Programación con Visual Basic .NET
3. 7
Orientacióón a Objetos.
n a Objetos.
Orientaci
Instancias de una clase
Instancias de una clase
UCLM-ESI. Programación con Visual Basic .NET
3. 8
(cid:132)(cid:132)44
Orientacióón a Objetos.
n a Objetos.
Orientaci
Caracteríísticas b
Caracter
sticas báásicas de un SOO (i)
sicas de un SOO (i)
n de objetos a travéés de sus aspectos
s de sus aspectos
•• Abstracci
Abstraccióónn
(cid:132)(cid:132) Identificaci
Identificacióón de objetos a trav
conceptuales.
conceptuales.
(cid:132)(cid:132) {{Porsche
Porsche 911,
•• Encapsulaci
Encapsulacióónn
(cid:132)(cid:132) Separaci
911, OpelOpel AstraAstra, , SeatSeat 600}
600} єє Coche
Coche
interfaz del objeto y su
interfaz del objeto y su
Separacióón entre el
n entre el
implementacióón.n.
implementaci
Ventajas:
(cid:132)(cid:132) Ventajas:
Seguridad: evita accesos no deseados.
(cid:132)(cid:132) Seguridad: evita accesos no deseados.
Simplicidad: no es necesario conocer la implementacióón de
n de
(cid:132)(cid:132) Simplicidad: no es necesario conocer la implementaci
un objeto para poder utilizarlo.
un objeto para poder utilizarlo.
Empleado.Alta(id)
Empleado.Alta(id)
UCLM-ESI. Programación con Visual Basic .NET
3. 9
sticas báásicas de un SOO (
sicas de un SOO (iiii))
Orientacióón a Objetos.
n a Objetos.
Orientaci
Caracteríísticas b
Caracter
•• Polimorfismo
Polimorfismo
(cid:132)(cid:132) Varios m
Varios méétodos con el mismo nombre pueden
todos con el mismo nombre pueden
realizar acciones diferentes.
realizar acciones diferentes.
Pelota.Tirar()
Pelota.Tirar()
VasoCristal.Tirar()
VasoCristal.Tirar()
•• Herencia
Herencia
Partiendo de una clase (base, padre o superclase)
(cid:132)(cid:132) Partiendo de una clase (base, padre o superclase)
creamos una nueva (derivada, hija o subclase).
creamos una nueva (derivada, hija o subclase).
La clase hija posee TODO el cóódigo de la clase
digo de la clase
s el cóódigo propio que se quiera a
padre, máás el c
padre, m
La clase derivada puede ser, a la vez, base.
(cid:132)(cid:132) La clase derivada puede ser, a la vez, base.
Simple (.NET) / Múúltiple
ltiple
(cid:132)(cid:132) Simple (.NET) / M
(cid:132)(cid:132) La clase hija posee TODO el c
digo propio que se quiera aññadir.
adir.
UCLM-ESI. Programación con Visual Basic .NET
3. 10
(cid:132)(cid:132)55
Orientacióón a Objetos.
n a Objetos.
Orientaci
Caracteríísticas b
Caracter
sticas báásicas de un SOO (
sicas de un SOO (iiiiii))
•• Herencia (ejemplos)
Herencia (ejemplos)
(Motor, Ruedas, Volante, Acelerar……))
Coche (Motor, Ruedas, Volante, Acelerar
Coche
CocheDeportivo ((…… + ABS, Turbo
CocheDeportivo
+ ABS, Turbo……))
Empleado (DNI,
Empleado
CogerVacaciones……))
CogerVacaciones
(DNI, FechaNacimiento
FechaNacimiento, Fichar,
, Fichar,
CyberEmpleado((…… + email, EncriptarDatos
CyberEmpleado
+ email, EncriptarDatos……))
UCLM-ESI. Programación con Visual Basic .NET
3. 11
Orientacióón a Objetos.
n a Objetos.
Orientaci
Jerarquíías de clases
as de clases
Jerarqu
UCLM-ESI. Programación con Visual Basic .NET
3. 12
(cid:132)(cid:132)66
Orientacióón a Objetos.
n a Objetos.
Orientaci
AnAnáálisis y Dise
lisis y Diseñño OO (i)
o OO (i)
www.uml.org
www.uml.org
UCLM-ESI. Programación con Visual Basic .NET
3. 13
Orientacióón a Objetos.
n a Objetos.
Orientaci
AnAnáálisis y Dise
lisis y Diseñño OO (
o OO (iiii))
Crear una aplicacióón en la que podamos realizar sobre una base de
n en la que podamos realizar sobre una base de
Crear u
Comentarios de: 3 - Orientación a Objetos en Visual Basic .NET (0)
No hay comentarios