La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Genericidad Una clase genérica encapsula una estructura y brinda un conjunto de servicios cuya implementación no depende del tipo de las componentes.

Presentaciones similares


Presentación del tema: "Genericidad Una clase genérica encapsula una estructura y brinda un conjunto de servicios cuya implementación no depende del tipo de las componentes."— Transcripción de la presentación:

1 Genericidad Una clase genérica encapsula una estructura y brinda un conjunto de servicios cuya implementación no depende del tipo de las componentes.

2 Matriz Elemento [] [] m > Matriz (fMax,cMax : entero) > establecerElem (f,c : entero, elem : Elemento ) copy(m : Matriz) invertirFilas(f1,f2:entero) Asume que la posición es válida Asume que se verificó que f1 y f2 son válidas Genericidad

3 Matriz Elemento [] [] m > existePos(f,c : entero) : boolean obtenerNFil () : entero obtenerNCol () : entero obtenerElem (f,c : entero) : Elemento clone() :Matriz equals(m:Matriz): boolean esRayada () : boolean todosNeutros():boolean Retorna verdadero sí y solo sí cada elemento cumple la propiedad esNeutro Genericidad Retorna verdadero sí y solo sí En cada fila todos los elementos mantienen referencias a un mismo objeto

4 Genericidad public void invertirFilas (int f1,int f2){ invertirElem (f1,f2,obtenerNCol()-1); } private void invertirElem(int f1,int f2,int c){ if (c>=0){ invertirDos(f1,f2,c); invertirElem (f1,f2,c-1); } } private void invertirDos(int f1,int f2, int c){ Elemento e = m[f1,c]; m[f1,c] = m[f2,c]; m[f2,c] = e; }

5 Genericidad public boolean esRayada (){ return esRay (obtenerNFil()-1); } private boolean esRay(int f){ boolean es = true; if (f>=0) es = todosIguales(f,obtenerNCol()-1) && esRay (f-1); return es; } private void todosIguales(int f,int c){ boolean es = true; if (c>0) es = m[f,c]==m[f,c-1] && todosIguales(f,c-1); return es; }

6 Genericidad public boolean todosNeutros (){ return todosNeu (obtenerNFil()-1); } private boolean todosNeu(int f){ boolean es = true; if (f>=0) es = filaNeutros(f,obtenerNCol()-1) && todosNeu (f-1); return es; } private void filaNeutros(int f,int c){ boolean es = true; if (c>=0) es = m[f,c].esNeutro() && filaNeutros(f,c-1); return es; }

7 Genericidad abstract class Elemento { abstract public boolean esNeutro(); } class Pixel extends Elemento { private int r,b,g; … public boolean esNeutro(){ return r==b& b==g; } } class Racional extends Elemento { private int num,den; … public boolean esNeutro(){ return num==0; } }


Descargar ppt "Genericidad Una clase genérica encapsula una estructura y brinda un conjunto de servicios cuya implementación no depende del tipo de las componentes."

Presentaciones similares


Anuncios Google