Está en la página 1de 14

INTRODUCCIÓN A LA PROGRAMACIÓN 01100

10011
ORIENTADA A OBJETOS 10110
01110
01100
10011
10110
equals y clases asociadas 01110
1001
Depto. de Ciencias e Ingeniería de la Computación 1 11
0 0
Universidad Nacional del Sur, Bahía Blanca 1
equals
SignosVitales PresionArterial
<<Atributo de clase>> <<Atributos de clase>>
umbralTemp = 37.5 umbralMin = 75
<<Atributos de Instancia>> umbralMax = 140
temperatura: real <<Atributos de Instancia>>
presion: PresionArterial min, max: entero

equals(s:SignosVitales):boolean equals(p:PresionArterial):boolean 01100


10011
10110
01110
if( s6.equals(s12) ) 01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 1001
presion max = 185 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
presion max = 185
equals
SignosVitales PresionArterial
<<Atributo de clase>> <<Atributos de clase>>
umbralTemp = 37.5 umbralMin = 75
<<Atributos de Instancia>> umbralMax = 140
temperatura: real <<Atributos de Instancia>>
presion: PresionArterial min, max: entero

equals(s:SignosVitales):boolean equals(p:PresionArterial):boolean 01100


10011
10110
01110
if( s6.equals(s12) ) 01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=37.5 min = 90 1001
presion max = 185 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
presion max = 185
equals
SignosVitales PresionArterial
<<Atributo de clase>> <<Atributos de clase>>
umbralTemp = 37.5 umbralMin = 75
<<Atributos de Instancia>> umbralMax = 140
temperatura: real <<Atributos de Instancia>>
presion: PresionArterial min, max: entero

equals(s:SignosVitales):boolean equals(p:PresionArterial):boolean 01100


10011
10110
01110
if( s6.equals(s12) ) 01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 65 1001
presion max = 120 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
presion max = 185
equals

PresionArterial
public boolean
equals (PresionArterial p){
//Requiere p ligado
return min == p.obtenerMin() &&
max == p.obtenerMax();
}

01100
10011
10110
01110
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 1001
presion max = 185 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
presion max = 185
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} }

01100
10011
10110
01110
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 1001
presion max = 185 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
presion max = 185
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} }

SignosVitales s6,s12; 01100


s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
01110
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 1001
presion max = 185 1 11
s12 0 0
1
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} }

SignosVitales s6,s12; 01100


s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
s12 = new SignosVitales (36.5,new PresionArterial(90,185));
01110
01100
10011
10110
:SignosVitales :PresionArterial
Temperatura=36.5 min = 90
Son diferentes mediciones, 0 1 1 1 0
s6 1001
presion max = 185 aunque la temperatura y la 1 1 1
s12 presión arterial del paciente fue
0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90 la misma en las dos
presion max = 185 oportunidades.
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} }

SignosVitales s6,s12; 01100


s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
s12 = new SignosVitales (36.5,new PresionArterial(90,185));
01110
if( s6.equals(s12) )
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 Los objetos de clase 1001
presion max = 185
PresionArterial tienen el1 1 1
s12 0 0
:SignosVitales :PresionArterial mismo estado interno pero1
Temperatura=36.5 min = 90
presion max = 185
diferente identidad.
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} }

SignosVitales s6,s12; 01100


s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
s12 = new SignosVitales (36.5,new PresionArterial(90,185));
01110
if( s6.equals(s12) )
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 1001
presion max = 185 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
s presion max = 185
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} }

SignosVitales s6,s12; 01100


s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
s12 = new SignosVitales (36.5,new PresionArterial(90,185));
01110
if( s6.equals(s12) )
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 1001
presion max = 185 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
s presion max = 185 p
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} }

SignosVitales s6,s12; 01100


s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
s12 = new SignosVitales (36.5,new PresionArterial(90,185));
01110
if( s6.equals(s12) )
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 1001
presion max = 185 1 11
s12 0 0
:SignosVitales :PresionArterial 1
Temperatura=36.5 min = 90
s presion max = 185 p
equals

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion.equals(s.obtenerPresion()); max == p.obtenerMax();
} true }

SignosVitales s6,s12; 01100


true
s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
s12 = new SignosVitales (36.5,new PresionArterial(90,185));
01110
if( s6.equals(s12) )
01100
10011
10110
:SignosVitales :PresionArterial
s6 Temperatura=36.5 min = 90 Cada medición es un objeto del0 1 1 1 0
1001
presion max = 185 problema diferente, cada objeto del
1 11
problema se modela con un objeto 0 0
:SignosVitales :PresionArterial
Temperatura=36.5 de software diferente, aunque 1
s12 min = 90
presion max = 185 tengan los mismos valores
Tarea

SignosVitales PresionArterial
public boolean public boolean
equals (SignosVitales s){ equals (PresionArterial p){
//Requiere s ligado //Requiere p ligado
return temperatura == p.obtenerTemperatura() return min == p.obtenerMin() &&
&& presion == s.obtenerPresion(); max == p.obtenerMax();
} }

SignosVitales s6,s12; 01100


s6 = new SignosVitales (36.5,new PresionArterial(90,185)); 10011
10110
s12 = new SignosVitales (36.5,new PresionArterial(90,185));
01110
if( s6.equals(s12) )
01100
10011
10110
:SignosVitales :PresionArterial 01110
s6 Temperatura=36.5 min = 90 ¿Qué valor computa la expresión 1001
presion max = 185
condicional si equals en la clase1 1 1
:SignosVitales :PresionArterial SignosVitales compara la 0 0
1
s12 Temperatura=36.5 min = 90 identidad con ==?
presion max = 185

También podría gustarte