0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Asociación.

Slides:



Advertisements
Presentaciones similares
Lenguaje de programación Java
Advertisements

Orientación a Objetos con Java SE
Defina una clase TempMinEstacion que encapsule la representación de las temperaturas mínimas registradas en una estación meteorológica en un período y.
Programación Orientada a Objetos
El proceso de desarrollo de software
El Proceso de desarrollo de software
Problema abstracción DATOS ACCIONES Problemas y Programas Programa.
El proceso de desarrollo de software
Abstracciones y Modelos
El proceso de desarrollo de software
EEST N°2 Mar del Plata 7mo año Informática Personal y Profesional Docente: Barnés Castilla, Viviana Elisa / Modelos y Sistemas.
Relaciones entre Clases La construcción de un sistema de software orientado a objetos consiste en definir un conjunto de clases relacionadas entre sí.
Encapsulamiento y Abstracción
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Herencia e Interfaces.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Herramientas de polimorfismo y herencia en C++
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Clases.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Estructuras.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Genericidad.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tabla.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Colección.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Polimorfismo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Abstracción.
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
Diferencia entre implementar en RPA e IPOO - Diseño En.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Dependencia.
Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Sonia.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Sonia.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Transcripción de la presentación:

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Asociación entre clases Caso de estudio: Signos vitales Dr. Luciano H. Tamargo Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca 2016

ASOCIACIÓN ENTRE CLASES En la programación orientada a objetos el punto de partida para la construcción de un sistema es un proceso de abstracción y clasificación. Los objetos de una clase se caracterizan por los mismos atributos y comportamiento, pero además comparten entre sí el mismo modo de relacionarse con objetos de otras clases. Un objeto asociado a otro objeto, tiene un atributo de su clase. La relación entre los objetos provoca una relación entre las clases, que se dicen asociadas. Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES Especificación de Requerimientos Los signos vitales son medidas de variaciones fisiológicas que permiten valorar las funciones corporales básicas. Dos de los signos vitales son: –la temperatura corporal –y la presión arterial. El profesional considera que existe un principio de alarma cuando estos valores escapan de los umbrales establecidos. Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES Especificación de Requerimientos La presión arterial es la fuerza de presión ejercida por la sangre circulante sobre las arterias y constituye uno de los principales signos vitales de un paciente. … Los valores de la presión sanguínea se expresan en kilopascales (kPa) o en milímetros del mercurio (mmHg). Para convertir de mmHg a kPa el valor se multiplica por 0,13. Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES PresionArterial > umbralMax,umbralMin :real > maxima,minima :real > PresionArterial(ma,mi:real) > obtenerMaximaMM():real obtenerMinimaMM():real obtenerMaximaHP():real obtenerMinimaHP().real obtenerPresionPulsoMM():real obtenerPresionPulsoHP():real alarmaHipertension():boolean equals(p:PresionArterial):boolean toString(): String Requiere máxima > mínima y ambos mayores a 0. Los valores están expresados en milímetros de mercurio. SignosVitales > umbralTemp:real > temperatura: real presion: PresionArterial > SignosVitales(t:real, p:PresionArterial) > obtenerTemperatura():real obtenerPresion():PresionArterial alarma ():boolean equals(s:SignosVitales):boolean toString(): String Requiere temperatura > 0. Los valores de temperatura están expresados en grados. 5

CASO DE ESTUDIO: SIGNOS VITALES class PresionArterial { /*Valores representados el milímetros de mercurio*/ //Atributos de clase private static final float umbralMax=120; private static final float umbralMin=80; //Atributos de instancia private float maxima; private float minima; //Constructor public PresionArterial(float ma,float mi){ //Requiere ma > mi > 0 maxima = ma; minima = mi; } … } 6

CASO DE ESTUDIO: SIGNOS VITALES //Consultas public float obtenerMaximaMM(){ return maxima; } public float obtenerMinimaMM(){ return minima; } public double obtenerMaximaHP(){ //Convierte a hectopascales return maxima*0.13; } public double obtenerMinimaHP(){ //Convierte a hectopascales return minima*0.13; } 7

CASO DE ESTUDIO: SIGNOS VITALES public float obtenerPresionPulsoMM(){ return maxima-minima; } public float obtenerPresioPulsoHP(){ return obtenerPresionPulsoMM()*0.13; } public String toString (){ return maxima+“ ”+minima; } 8

CASO DE ESTUDIO: SIGNOS VITALES El estado interno de cualquier objeto de clase PresionArterial mantiene los valores de dos atributos de instancia, maxima y minima, representados en milímetros de mercurio. Los valores de maxima y mínima expresados en hectopascales, no están almacenados en el estado interno, se computan cuando se invocan los métodos obtenerMaximaHP () y obtenerMinimaHP (). Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES La clase SignosVitales tieneUn atributo de clase PresionArterial. La clase SignosVitales puede acceder a cualquiera de los miembros públicos de la clase PresionArterial. Los atributos están encapsulados, no son accesibles, fuera de la clase. class SignosVitales{ //Atributos de clase private static final int umbralTemp=38; //Atributos de instancia private float temperatura; private PresionArterial presion ; Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES class SignosVitales{ //Atributos de clase private static final umbralTemp=38; //Atributos de instancia private float temperatura; private PresionArterial presion ; //Constructor public SignosVitales (float t, PresionArterial p ){ temperatura = t; presion = p; } … 11

CASO DE ESTUDIO: SIGNOS VITALES class SignosVitales{ … //Consultas public float obtenerTemperatura (){ return temperatura; } public PresionArterial obtenerPresion (){ return presion ; } public boolean alarma(){ return temperatura > umbralTemp || presion.alarmaHipertension() ; } } 12

CASO DE ESTUDIO: SIGNOS VITALES class SignosVitales{ … //Consultas public String toString(){ return temperatura+” “+presion.toString(); } … } La clase SignosVitales define un método toString () que envía el mensaje toString () a un objeto de clase PresioArterial. NO ES UNA LLAMADA RECURSIVA. Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES class Control{ public static void main (String [] a){ //Lectura de datos … //Creación de objetos PresionArterial p6Hs= new PresionArterial(95,60); PresionArterial p12Hs= new PresionArterial(95,60); SignosVitales s6Hs = new SignosVitales(36.2,p6Hs); SignosVitales s12Hs = new SignosVitales(38,p12Hs); if (s6hs.alarma() || s12hs.alarma()) System.out.println(“Estado de alarma”); } 14

CASO DE ESTUDIO: SIGNOS VITALES p6Hs p12Hs :PresionArterial maxima = 95 minima = 60 :PresionArterial maxima = 95 minima = 60 PresionArterial p6Hs= new PresionArterial(95,60); PresionArterial p12Hs= new PresionArterial(95,60); Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES p6Hs p12Hs :PresionArterial maxima = 95 minima = 60 :PresionArterial maxima = 95 minima = 60 PresionArterial p6Hs= new PresionArterial(95,60); PresionArterial p12Hs= new PresionArterial(95,60); SignosVitales s6Hs = new SignosVitales(36.2,p6Hs); s6Hs :SignosVitales temperatura =36.2 presion Introducción a la Programación Orientada a Objetos IPOO

CASO DE ESTUDIO: SIGNOS VITALES PresionArterial p6Hs= new PresionArterial(95,60); PresionArterial p12Hs= new PresionArterial(95,60); SignosVitales s6Hs = new SignosVitales(36.2,p6Hs); SignosVitales s12Hs = new SignosVitales(38,p12Hs); p6Hs p12Hs :PresionArterial maxima = 95 minima = 60 :PresionArterial maxima = 95 minima = 60 s6Hs :SignosVitales temperatura =36.2 presion s12Hs :SignosVitales temperatura =38.0 presion 17

PROVEEDORES Y CLIENTES La clase PresionArterial brinda servicios que la clase SignosVitales usa. Decimos que clase PresionArterial cumple el rol de proveedora y SignosVitales es su cliente. La clase Control también usa los servicios de PresionArterial y además usa a SignosVitales. De modo que SignosVitales es al mismo tiempo cliente y proveedora. Cada clase puede implementarse conociendo qué hacen las demás clases, pero no cómo lo hacen. Introducción a la Programación Orientada a Objetos IPOO