SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Módulo 2 Programación
Orientada a Objetos
Fases de análisis y diseño:
2
Análisis
• ¿Qué?objetivos debe
perseguir el sistema.
• Se definen los
elementos implicados:
Usuarios, dispositivos y
otros sistemas, las
actividades Y
Diseño
• ¿Cómo? alcanzará el
sistema esos objetivos.
• Se crea un modelo de
los elementos
implicados (UML ->
Unified Modeling
Language).
28/04/2013
Abstracción:
• Es el proceso de simplificar un problema complejo
enfocándose tan sólo en los aspectos relevantes para la
solución.
• En el desarrollo de software esto significa centrarse en lo
que es y hace un objeto antes de decidir cómo debería ser
implementado.
4
Abstracción:
¿Cuál es la diferencia entre Clase
y Objeto?:
• Una clase no es un objeto. (pero se usa para construirlo).
• Una clase es el prototipo del objeto.
• Le dice a la máquina virtual cómo crear un objeto de cierto
ese tipo.
• Cada objeto de esa clase puede tener sus propios valores
para las variables de instancia de esa clase.
Clase
JVM
Modificadores de acceso:
Modificador Clase a
nivel de
archivo
Variable Método Constructor Bloque
de código
public SI SI SI SI NO
private NO SI SI SI NO
protected NO SI SI SI NO
DEFAULT SI SI SI SI N/A
Encapsulación:
• La regla general de encapsulación es: OCULTAR LOS
ATRIBUTOS (private) y proporcionar interfaces públicas, es
decir métodos (public) get() y set().
• Se denomina encapsulamiento al ocultamiento del estado, es
decir, de los datos miembro, de un objeto de manera que
sólo se puede cambiar mediante las operaciones definidas
para ese objeto.
• Esto es conveniente porque lo que nos interesará será
conocer qué hace la Clase pero no será necesario saber
cómo lo hace.
• Por lo tanto, la encapsulación garantiza la integridad de
los datos que contiene un objeto.
Acoplamiento y cohesión:
• Todo desarrollador de software debe tener en cuenta que se
obtienen tantos más beneficios cuanto más alta es la
cohesión (High Cohesion) y más bajo es el acoplamiento
(Loose coupling) en la programación orientada a objetos .
Acoplamiento:
• El acoplamiento débil (Loose coupling) se refiere a reducir al
mínimo la dependencia de un objeto en otros objetos.
• En otras palabras, puede cambiar la implementación de una
clase sin afectar a otras clases.
• Estas propiedades hacen que el código extensible y fácil de
mantener.
Acoplamiento:
• Por ejemplo, considere dos clases, A y B. Si estas no se
utilizan entre si (ninguna de ellas crea una instancia de la
otra o invoca un método en el otra), no están acopladas.
A B
Acoplamiento:
• Si A usa a B (por ejemplo, crea una instancia de B), pero B
no usa A, entonces son débilmente acoplados (loosely
coupled).
A B
Acoplamiento:
Rev. 1.028/04/2013
• Si ambas A y B se utilizan entre si, entonces están
estrechamente acopladas (tightly coupled).
A B
Cohesión:
• Piense en el siguiente escenario:
• La clase A necesita hacer una conexión a una Base de Datos (DB), para ello en
la clase A declaras un método llamado getConnection() donde haces la
conexión a la DB mediante un usuario y contraseña.
• La clase B también necesita enlazarse a la base de datos y decides copiar el
código dentro del método getConnection() de la clase A y pegarlo en la clase
B.
• Creas una clase C y haces el mismo procedimiento anterior.
• Nuestro diseño cumple con el objetivo, tenemos un par de líneas que hacen la
conexión satisfactoriamente a la DB.
• ¿Qué sucederá si por alguna razón cambia el usuario y
contraseña de la DB?.
Cohesión:
• Mientras que el acoplamiento se refiere a la forma en que
dos clases interactúan unas con otras.
• La cohesión se refiere a cómo una clase se estructura.
• La cohesión es una medida interna de la clase referente a lo
bien estructurado y muy relacionado con la funcionalidad en
una clase.
Cohesión:
• El objetivo es diseñar las clases con gran cohesión, que
realicen tareas bien definidas y relacionadas (llamada
también la cohesión funcional).
• Los métodos públicos de una clase altamente cohesivos
suelen poner en práctica una sola tarea específica que se
relaciona con el propósito de la clase.
• Un método en una clase no debe realizar una tarea que en
realidad debería ser implementada por otra clase.
Cohesión:
Yo hago la
conexión a la
base de
datos.
Muy bien yo utilizo tu
método
getConnection(), si
algo cambia tu
solucionas los
problemas.
Yo también
necesito
conectarme
a la BD.
¿Hay alguien que
se conecte ya a la
DB?, no quiero
trabajar doble
Principios Orientados a objetos:
• (Weak vs. Strong) Encapsulation
• (Tight vs. Loose) Coupling
• (Low vs. High) Cohesion
higher cohesion <=> looser coupling

Weitere ähnliche Inhalte

Was ist angesagt?

Casos de éxito de TSP en México
Casos de éxito de TSP en MéxicoCasos de éxito de TSP en México
Casos de éxito de TSP en México
Software Guru
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
Roberth Loaiza
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
Isaias Toledo
 

Was ist angesagt? (20)

Tecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificialTecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificial
 
Modelos evolutivos
Modelos evolutivosModelos evolutivos
Modelos evolutivos
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de Software
 
PSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWAREPSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWARE
 
EstáNdares De Calidad Aplicadas Al Software
EstáNdares De Calidad Aplicadas Al SoftwareEstáNdares De Calidad Aplicadas Al Software
EstáNdares De Calidad Aplicadas Al Software
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Casos de éxito de TSP en México
Casos de éxito de TSP en MéxicoCasos de éxito de TSP en México
Casos de éxito de TSP en México
 
Arquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDArquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISD
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Diseño físico y lógico de los sistemas de informacion
Diseño físico y lógico de los sistemas de informacionDiseño físico y lógico de los sistemas de informacion
Diseño físico y lógico de los sistemas de informacion
 
Fcaps
FcapsFcaps
Fcaps
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
direcciones ip no validas
direcciones ip no validasdirecciones ip no validas
direcciones ip no validas
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
 

Andere mochten auch

Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
program visual
 
Expo 7 programación entera (algoritmo de gomory)
Expo 7   programación entera (algoritmo de gomory)Expo 7   programación entera (algoritmo de gomory)
Expo 7 programación entera (algoritmo de gomory)
Ayda Ramirez Montalvo
 
Aplicabilidad de la teoria de restricciones en las empresas
Aplicabilidad de la teoria de restricciones  en las empresasAplicabilidad de la teoria de restricciones  en las empresas
Aplicabilidad de la teoria de restricciones en las empresas
Wilmar Franco
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
Cris Tenorio
 
Funcion parte entera
Funcion parte enteraFuncion parte entera
Funcion parte entera
sitayanis
 

Andere mochten auch (17)

Programacion Lineal Entera
Programacion Lineal EnteraProgramacion Lineal Entera
Programacion Lineal Entera
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
Programación orientada a objetos (Dominguez Gonzalez, Jose Antonio & Perez He...
 
Software Project Management EAN
Software Project Management EANSoftware Project Management EAN
Software Project Management EAN
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4
 
pruba de "sdf"
pruba de "sdf"pruba de "sdf"
pruba de "sdf"
 
Principios orientacion-objetos
Principios orientacion-objetosPrincipios orientacion-objetos
Principios orientacion-objetos
 
Expo 7 programación entera (algoritmo de gomory)
Expo 7   programación entera (algoritmo de gomory)Expo 7   programación entera (algoritmo de gomory)
Expo 7 programación entera (algoritmo de gomory)
 
Modelos de programacion
Modelos de  programacionModelos de  programacion
Modelos de programacion
 
Metricas de software
Metricas de softwareMetricas de software
Metricas de software
 
Aplicabilidad de la teoria de restricciones en las empresas
Aplicabilidad de la teoria de restricciones  en las empresasAplicabilidad de la teoria de restricciones  en las empresas
Aplicabilidad de la teoria de restricciones en las empresas
 
Teoria de las Restricciones
Teoria de las RestriccionesTeoria de las Restricciones
Teoria de las Restricciones
 
Teoria de las restricciones
Teoria de las restricciones Teoria de las restricciones
Teoria de las restricciones
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Funcion parte entera
Funcion parte enteraFuncion parte entera
Funcion parte entera
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 

Ähnlich wie Programación orientada a objetos (POO) [JAVA]

Diseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetosDiseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetos
Fabiola Laguna
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
Marvin Zumbado
 

Ähnlich wie Programación orientada a objetos (POO) [JAVA] (20)

chuy
chuy chuy
chuy
 
6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt
 
Diseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetosDiseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetos
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Compu 1
Compu 1Compu 1
Compu 1
 
Introducción a la PPO
 Introducción a la PPO Introducción a la PPO
Introducción a la PPO
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
patronesdiseño2009.ppt
patronesdiseño2009.pptpatronesdiseño2009.ppt
patronesdiseño2009.ppt
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Presentación P.O.O
Presentación P.O.OPresentación P.O.O
Presentación P.O.O
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
 
Programación orientada-a-objetos
Programación orientada-a-objetosProgramación orientada-a-objetos
Programación orientada-a-objetos
 
diseno Componente3.ppt
diseno Componente3.pptdiseno Componente3.ppt
diseno Componente3.ppt
 
metodologia-de-programación orientada a Objetos
metodologia-de-programación orientada a Objetosmetodologia-de-programación orientada a Objetos
metodologia-de-programación orientada a Objetos
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 

Mehr von Hack '

Ccna 1 examen final
Ccna 1 examen finalCcna 1 examen final
Ccna 1 examen final
Hack '
 
Ccna 1 capítulo 11
Ccna 1 capítulo 11Ccna 1 capítulo 11
Ccna 1 capítulo 11
Hack '
 
Ccna 1 capítulo 10
Ccna 1 capítulo 10Ccna 1 capítulo 10
Ccna 1 capítulo 10
Hack '
 
Ccna 1 capitulo 09
Ccna 1 capitulo 09Ccna 1 capitulo 09
Ccna 1 capitulo 09
Hack '
 
Ccna 1 capitulo 08
Ccna 1 capitulo 08Ccna 1 capitulo 08
Ccna 1 capitulo 08
Hack '
 
Ccna 1 capitulo 07
Ccna 1 capitulo 07Ccna 1 capitulo 07
Ccna 1 capitulo 07
Hack '
 
Ccna 1 capitulo 06
Ccna 1 capitulo 06Ccna 1 capitulo 06
Ccna 1 capitulo 06
Hack '
 
Ccna 1 capitulo 05
Ccna 1 capitulo 05Ccna 1 capitulo 05
Ccna 1 capitulo 05
Hack '
 
Ccna 1 capitulo 04
Ccna 1 capitulo 04Ccna 1 capitulo 04
Ccna 1 capitulo 04
Hack '
 
Ccna 1 capitulo 03
Ccna 1 capitulo 03Ccna 1 capitulo 03
Ccna 1 capitulo 03
Hack '
 
Ccna 1 capitulo 02
Ccna 1 capitulo 02Ccna 1 capitulo 02
Ccna 1 capitulo 02
Hack '
 
Ccna1 mas el final
Ccna1 mas el finalCcna1 mas el final
Ccna1 mas el final
Hack '
 
Administración y organización física de centros de computo
Administración y organización física de centros de computoAdministración y organización física de centros de computo
Administración y organización física de centros de computo
Hack '
 
Codigos ascii
Codigos asciiCodigos ascii
Codigos ascii
Hack '
 
Codigo ascii
Codigo asciiCodigo ascii
Codigo ascii
Hack '
 
Codigo ascii
Codigo  asciiCodigo  ascii
Codigo ascii
Hack '
 
I/O (imput/output) [JAVA]
I/O  (imput/output) [JAVA]I/O  (imput/output) [JAVA]
I/O (imput/output) [JAVA]
Hack '
 
Identificadores, palabras reservadas y tipos de datos [JAVA]
Identificadores, palabras reservadas y tipos de datos [JAVA]Identificadores, palabras reservadas y tipos de datos [JAVA]
Identificadores, palabras reservadas y tipos de datos [JAVA]
Hack '
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]
Hack '
 
Hilos código [JAVA]
Hilos código [JAVA]Hilos código [JAVA]
Hilos código [JAVA]
Hack '
 

Mehr von Hack ' (20)

Ccna 1 examen final
Ccna 1 examen finalCcna 1 examen final
Ccna 1 examen final
 
Ccna 1 capítulo 11
Ccna 1 capítulo 11Ccna 1 capítulo 11
Ccna 1 capítulo 11
 
Ccna 1 capítulo 10
Ccna 1 capítulo 10Ccna 1 capítulo 10
Ccna 1 capítulo 10
 
Ccna 1 capitulo 09
Ccna 1 capitulo 09Ccna 1 capitulo 09
Ccna 1 capitulo 09
 
Ccna 1 capitulo 08
Ccna 1 capitulo 08Ccna 1 capitulo 08
Ccna 1 capitulo 08
 
Ccna 1 capitulo 07
Ccna 1 capitulo 07Ccna 1 capitulo 07
Ccna 1 capitulo 07
 
Ccna 1 capitulo 06
Ccna 1 capitulo 06Ccna 1 capitulo 06
Ccna 1 capitulo 06
 
Ccna 1 capitulo 05
Ccna 1 capitulo 05Ccna 1 capitulo 05
Ccna 1 capitulo 05
 
Ccna 1 capitulo 04
Ccna 1 capitulo 04Ccna 1 capitulo 04
Ccna 1 capitulo 04
 
Ccna 1 capitulo 03
Ccna 1 capitulo 03Ccna 1 capitulo 03
Ccna 1 capitulo 03
 
Ccna 1 capitulo 02
Ccna 1 capitulo 02Ccna 1 capitulo 02
Ccna 1 capitulo 02
 
Ccna1 mas el final
Ccna1 mas el finalCcna1 mas el final
Ccna1 mas el final
 
Administración y organización física de centros de computo
Administración y organización física de centros de computoAdministración y organización física de centros de computo
Administración y organización física de centros de computo
 
Codigos ascii
Codigos asciiCodigos ascii
Codigos ascii
 
Codigo ascii
Codigo asciiCodigo ascii
Codigo ascii
 
Codigo ascii
Codigo  asciiCodigo  ascii
Codigo ascii
 
I/O (imput/output) [JAVA]
I/O  (imput/output) [JAVA]I/O  (imput/output) [JAVA]
I/O (imput/output) [JAVA]
 
Identificadores, palabras reservadas y tipos de datos [JAVA]
Identificadores, palabras reservadas y tipos de datos [JAVA]Identificadores, palabras reservadas y tipos de datos [JAVA]
Identificadores, palabras reservadas y tipos de datos [JAVA]
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]
 
Hilos código [JAVA]
Hilos código [JAVA]Hilos código [JAVA]
Hilos código [JAVA]
 

Kürzlich hochgeladen

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Kürzlich hochgeladen (20)

SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 

Programación orientada a objetos (POO) [JAVA]

  • 2. Fases de análisis y diseño: 2 Análisis • ¿Qué?objetivos debe perseguir el sistema. • Se definen los elementos implicados: Usuarios, dispositivos y otros sistemas, las actividades Y Diseño • ¿Cómo? alcanzará el sistema esos objetivos. • Se crea un modelo de los elementos implicados (UML -> Unified Modeling Language).
  • 4. Abstracción: • Es el proceso de simplificar un problema complejo enfocándose tan sólo en los aspectos relevantes para la solución. • En el desarrollo de software esto significa centrarse en lo que es y hace un objeto antes de decidir cómo debería ser implementado. 4
  • 6. ¿Cuál es la diferencia entre Clase y Objeto?: • Una clase no es un objeto. (pero se usa para construirlo). • Una clase es el prototipo del objeto. • Le dice a la máquina virtual cómo crear un objeto de cierto ese tipo. • Cada objeto de esa clase puede tener sus propios valores para las variables de instancia de esa clase. Clase JVM
  • 7. Modificadores de acceso: Modificador Clase a nivel de archivo Variable Método Constructor Bloque de código public SI SI SI SI NO private NO SI SI SI NO protected NO SI SI SI NO DEFAULT SI SI SI SI N/A
  • 8. Encapsulación: • La regla general de encapsulación es: OCULTAR LOS ATRIBUTOS (private) y proporcionar interfaces públicas, es decir métodos (public) get() y set(). • Se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto. • Esto es conveniente porque lo que nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace. • Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.
  • 9. Acoplamiento y cohesión: • Todo desarrollador de software debe tener en cuenta que se obtienen tantos más beneficios cuanto más alta es la cohesión (High Cohesion) y más bajo es el acoplamiento (Loose coupling) en la programación orientada a objetos .
  • 10. Acoplamiento: • El acoplamiento débil (Loose coupling) se refiere a reducir al mínimo la dependencia de un objeto en otros objetos. • En otras palabras, puede cambiar la implementación de una clase sin afectar a otras clases. • Estas propiedades hacen que el código extensible y fácil de mantener.
  • 11. Acoplamiento: • Por ejemplo, considere dos clases, A y B. Si estas no se utilizan entre si (ninguna de ellas crea una instancia de la otra o invoca un método en el otra), no están acopladas. A B
  • 12. Acoplamiento: • Si A usa a B (por ejemplo, crea una instancia de B), pero B no usa A, entonces son débilmente acoplados (loosely coupled). A B
  • 13. Acoplamiento: Rev. 1.028/04/2013 • Si ambas A y B se utilizan entre si, entonces están estrechamente acopladas (tightly coupled). A B
  • 14. Cohesión: • Piense en el siguiente escenario: • La clase A necesita hacer una conexión a una Base de Datos (DB), para ello en la clase A declaras un método llamado getConnection() donde haces la conexión a la DB mediante un usuario y contraseña. • La clase B también necesita enlazarse a la base de datos y decides copiar el código dentro del método getConnection() de la clase A y pegarlo en la clase B. • Creas una clase C y haces el mismo procedimiento anterior. • Nuestro diseño cumple con el objetivo, tenemos un par de líneas que hacen la conexión satisfactoriamente a la DB. • ¿Qué sucederá si por alguna razón cambia el usuario y contraseña de la DB?.
  • 15. Cohesión: • Mientras que el acoplamiento se refiere a la forma en que dos clases interactúan unas con otras. • La cohesión se refiere a cómo una clase se estructura. • La cohesión es una medida interna de la clase referente a lo bien estructurado y muy relacionado con la funcionalidad en una clase.
  • 16. Cohesión: • El objetivo es diseñar las clases con gran cohesión, que realicen tareas bien definidas y relacionadas (llamada también la cohesión funcional). • Los métodos públicos de una clase altamente cohesivos suelen poner en práctica una sola tarea específica que se relaciona con el propósito de la clase. • Un método en una clase no debe realizar una tarea que en realidad debería ser implementada por otra clase.
  • 17. Cohesión: Yo hago la conexión a la base de datos. Muy bien yo utilizo tu método getConnection(), si algo cambia tu solucionas los problemas. Yo también necesito conectarme a la BD. ¿Hay alguien que se conecte ya a la DB?, no quiero trabajar doble
  • 18. Principios Orientados a objetos: • (Weak vs. Strong) Encapsulation • (Tight vs. Loose) Coupling • (Low vs. High) Cohesion higher cohesion <=> looser coupling