Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porHieronimo Charo Modificado hace 10 años
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; } }
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.