1 / 7

Genericidad

Genericidad. Una clase genérica encapsula una estructura y brinda un conjunto de servicios cuya implementación no depende del tipo de las componentes. Genericidad. Matriz. Elemento [] [] m. <<constructores>> Matriz ( fMax,cMax : entero) <<comandos>> establecerElem ( f,c : entero,

kohana
Download Presentation

Genericidad

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Genericidad Matriz Elemento [] [] m <<constructores>> Matriz (fMax,cMax : entero) <<comandos>> 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

  3. Genericidad Matriz Elemento [] [] m Retorna verdadero sí y solo sí En cada fila todos los elementos mantienen referencias a un mismo objeto <<consultas>> 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

  4. Genericidad publicvoidinvertirFilas (int f1,int f2){ invertirElem (f1,f2,obtenerNCol()-1); } privatevoidinvertirElem(intf1,int f2,int c){ if (c>=0){ invertirDos(f1,f2,c); invertirElem(f1,f2,c-1); } } privatevoidinvertirDos(int f1,int f2, int c){ Elemento e = m[f1,c]; m[f1,c] = m[f2,c]; m[f2,c] = e; }

  5. Genericidad publicbooleanesRayada (){ returnesRay (obtenerNFil()-1); } privatebooleanesRay(int f){ boolean es = true; if (f>=0) es = todosIguales(f,obtenerNCol()-1) && esRay (f-1); return es; } privatevoidtodosIguales(intf,int c){ boolean es = true; if(c>0) es = m[f,c]==m[f,c-1] && todosIguales(f,c-1); return es; }

  6. Genericidad publicbooleantodosNeutros (){ returntodosNeu (obtenerNFil()-1); } privatebooleantodosNeu(int f){ boolean es = true; if (f>=0) es = filaNeutros(f,obtenerNCol()-1) && todosNeu (f-1); return es; } privatevoidfilaNeutros(intf,int c){ boolean es = true; if(c>=0) es = m[f,c].esNeutro() && filaNeutros(f,c-1); return es; }

  7. Genericidad abstractclass Elemento { abstractpublicbooleanesNeutro(); } class Pixel extends Elemento { privateintr,b,g; … publicbooleanesNeutro(){ return r==b& b==g; } } classRacional extendsElemento { privateintnum,den; … publicbooleanesNeutro(){ returnnum==0; } }

More Related