sesion 3 programacion orientada a objetos
DESCRIPTION
Presentaciones enviadas por ITESA.NETTRANSCRIPT
![Page 1: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/1.jpg)
Programación Programación Orientada a ObjetosOrientada a Objetos – –
OOPOOP
Desarrollo de Desarrollo de Aplicaciones en CapasAplicaciones en Capas
![Page 2: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/2.jpg)
ObjetivoObjetivo
Mostrar los conceptos de Mostrar los conceptos de programación orientada a objetos programación orientada a objetos
(OOP) y el desarrollo de (OOP) y el desarrollo de aplicaciones en capas (n-tier), sus aplicaciones en capas (n-tier), sus
ventajas, estructuras y ventajas, estructuras y comunicacióncomunicación
![Page 3: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/3.jpg)
Definición - OOPDefinición - OOPDefinición - OOPDefinición - OOP
Técnica de programación de forma Técnica de programación de forma estructurada con la finalidad de estructurada con la finalidad de
reaprovechar el código existente e reaprovechar el código existente e implementar nuevas clases cuando implementar nuevas clases cuando
es necesarioes necesario
![Page 4: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/4.jpg)
Pilares de OOPPilares de OOPPilares de OOPPilares de OOP
PolimorfismoPolimorfismo
HerenciaHerencia
AbstracciónAbstracción
EncapsulamientoEncapsulamiento
![Page 5: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/5.jpg)
AbstracciónAbstracciónAbstracciónAbstracción
Es la capacidad de generalizar un Es la capacidad de generalizar un objeto como un tipo de dato que posea objeto como un tipo de dato que posea
un conjunto específico de un conjunto específico de características (propiedades) y pueda características (propiedades) y pueda
ejecutar un grupo de acciones ejecutar un grupo de acciones (métodos)(métodos)
![Page 6: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/6.jpg)
Abstracción de un Abstracción de un automóvilautomóvilEjemplo en VB.NETEjemplo en VB.NET
Abstracción de un Abstracción de un automóvilautomóvilEjemplo en VB.NETEjemplo en VB.NET
Public Class Carro Public VelocidaMaxima As Integer Public NombreDelModelo As String Public Sub Acelerar()
‘codigo para acelerar End Sub Public Sub Parar() ‘codigo para parar End SubEnd Class
![Page 7: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/7.jpg)
EncapsulamientoEncapsulamientoEncapsulamientoEncapsulamientoEs la exposición de las propiedades y Es la exposición de las propiedades y
métodos de un objeto mientras la métodos de un objeto mientras la implementación real permanece oculta implementación real permanece oculta
del mundo exterior. El objeto es del mundo exterior. El objeto es tratado como una caja negra.tratado como una caja negra.
Esto permite que los desarrolladores Esto permite que los desarrolladores creen objetos que puedan ser creen objetos que puedan ser
alterados sin afectar el código fuente alterados sin afectar el código fuente que los utilizaque los utiliza
![Page 8: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/8.jpg)
PolimorfismoPolimorfismoPolimorfismoPolimorfismoEs el concepto según el cual objetos Es el concepto según el cual objetos diferentes poseen implementaciones diferentes poseen implementaciones diferentes de una misma propiedad o diferentes de una misma propiedad o método. Por ejemplo, un helicóptero y método. Por ejemplo, un helicóptero y un avión a chorro poseen el método un avión a chorro poseen el método
LevantaVuelo y la propiedad AltitudMax, LevantaVuelo y la propiedad AltitudMax, sin embargo sus implementaciones son sin embargo sus implementaciones son
diferentesdiferentes
![Page 9: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/9.jpg)
Polimorfismo – VB.NETPolimorfismo – VB.NETPolimorfismo – VB.NETPolimorfismo – VB.NET
![Page 10: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/10.jpg)
Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento
Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento
No confunda los dos, ya que se uno se No confunda los dos, ya que se uno se refiere al hecho de que existen refiere al hecho de que existen
funciones que pueden ser atribuidas a funciones que pueden ser atribuidas a una clase sin que su implementación una clase sin que su implementación sea conocida, y el otro define que dos sea conocida, y el otro define que dos o más clases posean la misma interfazo más clases posean la misma interfaz
![Page 11: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/11.jpg)
Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento
Polimorfismo / Polimorfismo / EncapsulamientoEncapsulamiento
![Page 12: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/12.jpg)
HerenciaHerenciaHerenciaHerencia
Es el concepto por el que una clase Es el concepto por el que una clase puede estar basada en otra puede estar basada en otra
denominada clase base. La herencia denominada clase base. La herencia suministra un mecanismo para crear suministra un mecanismo para crear
jerarquías de objetosjerarquías de objetos
![Page 13: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/13.jpg)
HerenciHerenciaa
HerenciHerenciaa
![Page 14: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/14.jpg)
HerenciaHerenciaHerenciaHerencia
![Page 15: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/15.jpg)
HerenciaHerenciaHerenciaHerencia
InheritsInherits Indica la clase que se heredaráIndica la clase que se heredará
NoInheritableNoInheritable Indica que la clase que utiliza este elemento no puede ser Indica que la clase que utiliza este elemento no puede ser heredada en ninguna otra claseheredada en ninguna otra clase
MustInheritMustInherit Indica que la clase que utiliza este elemento solamente puede Indica que la clase que utiliza este elemento solamente puede ser utilizada por medio de su herencia en otra claseser utilizada por medio de su herencia en otra clase
Alcance de la ClaseAlcance de la Clase
OverridableOverridable Indica que el método que utiliza este elemento puede ser Indica que el método que utiliza este elemento puede ser sobreescritosobreescrito
NotOverridabNotOverridablele
Indica que el método que utiliza este elemento no puede ser Indica que el método que utiliza este elemento no puede ser sobreescritosobreescrito
MustOverrideMustOverride Indica que el método que utiliza este elemento solamente puede Indica que el método que utiliza este elemento solamente puede ser implementado por medio de la sobreescritura del mismoser implementado por medio de la sobreescritura del mismo
OverridesOverrides Indica que el método está sobreescribiendo el método de la Indica que el método está sobreescribiendo el método de la clase baseclase base
Alcance de MétodosAlcance de Métodos
![Page 16: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/16.jpg)
Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)
Es posible emplear un único método Es posible emplear un único método (Function o Sub) para diversas (Function o Sub) para diversas
formas de implementación. Se puede formas de implementación. Se puede definir un método con el mismo definir un método con el mismo
nombre para varios tipos de nombre para varios tipos de parámetros de entrada y salida, y le parámetros de entrada y salida, y le
corresponde al Framework corresponde al Framework interpretarlos uno por uno y elegir el interpretarlos uno por uno y elegir el
correctocorrecto
![Page 17: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/17.jpg)
Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)
![Page 18: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/18.jpg)
Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)Overload (Sobrecarga)
![Page 19: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/19.jpg)
DelegateDelegateDelegateDelegate
Es una funcionalidad poderosa en OOP. Es una funcionalidad poderosa en OOP. Considerando que los objetos pueden Considerando que los objetos pueden
poseer eventos, el lenguaje debe poseer eventos, el lenguaje debe proveer una forma elegante para que proveer una forma elegante para que
un objeto haga uso de métodos de un objeto haga uso de métodos de otros objetosotros objetos
![Page 20: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/20.jpg)
DelegateDelegateDelegateDelegate
![Page 21: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/21.jpg)
DelegateDelegateDelegateDelegate
![Page 22: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/22.jpg)
N-tierN-tier
![Page 23: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/23.jpg)
N-tierN-tierN-tierN-tier
¿En qué consiste esta arquitectura?¿En qué consiste esta arquitectura?¿Cuáles son las ventajas?¿Cuáles son las ventajas?¿En qué situaciones se aplica?¿En qué situaciones se aplica?
![Page 24: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/24.jpg)
Internet abierta Internet abierta protocolos de comunicaciónprotocolos de comunicación(HTTP, SMTP, XML, SOAP)(HTTP, SMTP, XML, SOAP)
Experiencia del usuario Experiencia del usuario más rica y productivamás rica y productiva
Aplicaciones disponibles Aplicaciones disponibles globalmente a través de globalmente a través de Web Web
ServicesServices
Las aplicaciones se vuelven Las aplicaciones se vuelven Servicios Web programablesServicios Web programables
XMLXML
XMLXML
XMLXML
XMLXML
XMLXML
XMLXML
HTMLHTML
SmartSmartClientsClients
Standard Standard BrowsersBrowsers
Smart Smart DevicesDevices
Servicios Servicios Web Web
PúblicosPúblicos
Servicios de Servicios de BaseBase
Servicios Servicios InternosInternos
Servidores, Servidores, Datos, HostsDatos, Hosts
Servicios del Servicios del Sistema Sistema
OperativoOperativo
Logica de Logica de Negocios & Negocios &
Servicios WebServicios Web
N-tierN-tier
![Page 25: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/25.jpg)
N-tierN-tier
1-capa 2-capas 3-capas
interop
erabilidad
Fuente de DatosFuente de DatosNegociosNegociosInterfaz de Interfaz de AplicacionAplicacion
Fuente de DatosFuente de Datos
Interfaz de Interfaz de AplicacionAplicacion
Interfaz de Interfaz de AplicacionAplicacion
Interfaz de Interfaz de AplicacionAplicacion
Fuente de DatosFuente de Datos
NegociosNegocios
Bases de Bases de datos, datos,
Servicios Web, Servicios Web, XMLXML
![Page 26: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/26.jpg)
N-tier (1 / 2)N-tier (1 / 2)N-tier (1 / 2)N-tier (1 / 2)
ClienteCliente
Base de Datos
1 capa
![Page 27: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/27.jpg)
N-tierN-tierClass Library - DLL
Presentation
![Page 28: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/28.jpg)
VB.NET + VB.NET + C#C#
Class Library - DLL
Presentacion
![Page 29: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/29.jpg)
N-tierN-tierN-tierN-tier
1 capa 2 capas
Base de Datos
3 capas
ClienteCliente
NegociosNegocios
![Page 30: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/30.jpg)
N-tierN-tierN-tierN-tier
Database
![Page 31: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/31.jpg)
Stored ProceduresStored Procedures
¿Qué son?¿Qué son?
¿Cuáles son sus ventajas?¿Cuáles son sus ventajas?
![Page 32: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/32.jpg)
Stored ProceduresStored Procedures
![Page 33: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/33.jpg)
Stored ProceduresStored Procedures
![Page 34: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/34.jpg)
Stored ProceduresStored Procedures
![Page 35: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/35.jpg)
Servicio único que pone a disposición Servicio único que pone a disposición una forma estandarizada de acceso a una forma estandarizada de acceso a las funcionalidades del sistemalas funcionalidades del sistema
Ambiente administrado y escalable Ambiente administrado y escalable para garantizar la atención a los para garantizar la atención a los usuarios usuarios
Rutinas complejas de negocio con una Rutinas complejas de negocio con una única versión siendo ejecutada, única versión siendo ejecutada, independiente de los sistemas que la independiente de los sistemas que la estuvieran utilizandoestuvieran utilizando
Server ApplicationServer ApplicationServer ApplicationServer Application
![Page 36: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/36.jpg)
Ambiente centralizado para la Ambiente centralizado para la aplicación de cambios en la lógica de aplicación de cambios en la lógica de negocios, que permite un control más negocios, que permite un control más efectivo en relación con la versión y la efectivo en relación con la versión y la seguridad de la informaciónseguridad de la información
Facilidad en brindar información a los Facilidad en brindar información a los servidores web, sacandoles a ellos el servidores web, sacandoles a ellos el trabajo pesado, y siendo responsable trabajo pesado, y siendo responsable por la implementación de la lógica de por la implementación de la lógica de negociosnegocios
Server ApplicationServer ApplicationServer ApplicationServer Application
![Page 37: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/37.jpg)
Server ApplicationServer ApplicationServer ApplicationServer Application
1 capa 2 capas
Base de Datos
3 capas
ClienteCliente
Server App.Server App.
![Page 38: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/38.jpg)
¿Qué es un Web ¿Qué es un Web Service?Service?
¿Qué es un Web ¿Qué es un Web Service?Service?Es una clase desarrollada en .NET para Es una clase desarrollada en .NET para
atender la demanda de aplicaciones / atender la demanda de aplicaciones / sitios internos o externossitios internos o externos
<WebMethod()> Public Function …<WebMethod()> Public Function …… … instrucciones …instrucciones …End FunctionEnd Function
![Page 39: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/39.jpg)
¿Dónde y por qué ¿Dónde y por qué emplear Web Services?emplear Web Services?
¿Dónde y por qué ¿Dónde y por qué emplear Web Services?emplear Web Services?
Cualquier aplicación puede consumir Cualquier aplicación puede consumir un WS disponible en la WEB (agendas, un WS disponible en la WEB (agendas, catálogos, datos bancarios, médicos, catálogos, datos bancarios, médicos, validación de tarjetas, noticias, etc.)validación de tarjetas, noticias, etc.)
El objetivo es integrar aplicaciones El objetivo es integrar aplicaciones escribiendo cada vez menos código escribiendo cada vez menos código (reutilización)(reutilización)
![Page 40: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/40.jpg)
Ventajas de losVentajas de los Web Web ServicesServices
Desarrollo Desarrollo ConectadoConectado
Interoperabilidad con Interoperabilidad con sistemas construidos sistemas construidos
en cualquier en cualquier plataforma o plataforma o
lenguajelenguajeSistemas ConectadosSistemas Conectados
Integración con sistemas legados, Integración con sistemas legados,
dentro y fuera de la empresadentro y fuera de la empresa
Negocios ConectadosNegocios ConectadosAgilidad en la conexión a clientes, Agilidad en la conexión a clientes, socios y funcionarios, a través de socios y funcionarios, a través de
soluciones construidas rápidamente soluciones construidas rápidamente y a bajos costosy a bajos costos ExperienciasExperiencias
ConectadasConectadasInformación en Información en
cualquier momento, en cualquier momento, en cualquier lugar, en cualquier lugar, en
cualquier dispositivocualquier dispositivo
![Page 41: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/41.jpg)
OrquestraciónOrquestración
Garantia de EntregaGarantia de Entrega
SeguridadSeguridad
Recursos de los Web Recursos de los Web ServicesServices
SistemasSistemasLegadosLegados
SistemasSistemasExternosExternos
Verticales e Verticales e InfraestructuraInfraestructura
EventosEventos
DatosDatosCorporativosCorporativos
TransaccionesTransacciones
![Page 42: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/42.jpg)
Modelo de Web ServicesModelo de Web ServicesWeb Site: HTML Cliente:Web Site: HTML Cliente:
Web Service: XML Cliente:Web Service: XML Cliente:
El navegadorEl navegador
Legacy
WebWebServiceService
SistemasSistemas
Exhibe la Exhibe la información a un información a un usuario que usuario que reacciona o no reacciona o no frente a la mismafrente a la misma
El sistema que recibe El sistema que recibe la información (Excel, la información (Excel, ERP) procesa la ERP) procesa la información apenas la información apenas la reciberecibe
![Page 43: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/43.jpg)
Uso de los Web Uso de los Web ServicesServices
Uso de los Web Uso de los Web ServicesServices
![Page 44: Sesion 3 Programacion Orientada a Objetos](https://reader031.vdocuments.site/reader031/viewer/2022012922/5571f20349795947648bfa61/html5/thumbnails/44.jpg)
XM
L
Web Services
XML
App Externas
WIN, WEB, MOBILE
App Internas
WEB, MOBILE
WIN
Database
Server AppServer App
ClientClientWeb Server