Composición en Java Cheat Sheet

A cheat sheet in español (Spanish) by diegojserrano

Resumen sobre como implementar composición en Java usando arreglos.

7,804 views 2,140 downloads 26 Apr 2019 History
3.7 avg · 0 ratings

Compos­ición con arreglos

En la clase conten­edora se declara un arreglo de la clase contenida
En la clase conten­edora se agrega un método para insertar nuevos objetos de la clase contenida
En el constr­uctor de la clase conten­edora se necesita un parámetro que indique la cantidad máxima de objetos contenidos

Clase conten­edora

Es una clase común, con atributos y métodos habituales
Debe poseer al menos un arreglo donde se almacenan los objetos contenidos
No debe poseer métodos get y set para el arreglo

Clase contenida

Es una clase común, con atributos y métodos habituales
No va a poseer ninguna referencia a la clase conten­edora

Declar­ación

public class Contenedora  {

    private Contenida[] v;

}

Constr­uctor

public Contenedora (parámetros, int cantidad) {

     ...asignación de atributos...
     v = new Contenida[cantidad];
}
El parámetro cantidad indica el tamaño del arreglo de objetos contenidos.
El arreglo debe estar creado antes de agregar elementos, por lo tanto se lo crea durante la constr­ucción.

Inserción

La clase conten­edora debe poseer un método para agregar un nuevo elemento contenido
El método de inserción debe recibir como parámetro un objeto de la clase contenida
Por simpli­cidad el método no va a devolver nada
Para insertar se necesita recorrer el arreglo buscando el primer elemento que sea nulo
Cuando se lo encuentra, se asigna el nuevo objeto en ese lugar
Es impres­cin­dible interr­umpir el ciclo, si no, el nuevo objeto va a ocupar todo el arreglo porque se lo asignaría a todos los casilleros vacios.
public void agrega­r(C­ont­enida nuevo){
 ­ ­ for (int i=0; i < v.length; i++)
 ­ ­ ­ ­ ­ ­if(v[i] == null) {
 ­ ­ ­ ­ ­ ­ ­ ­ v[i] = nuevo;
         break;
      }
}

Recorridos

Cuando se necesite obtener inform­ación de los elementos almace­nados, debe recorrerse el arreglo con for o for mejorado
Para ello se agrega a la clase conten­edora un método por cada resultado que se requiera
Los resultados nunca deben mostrarse en esta clase, únicamente deben ser retorn­ados.
Si necesita un dato externo (por ejemplo, para una búsqueda) debe ser recibido por parámetro
En el ciclo que recorra el arreglo, debería verifi­carse que no haya elementos nulos.
public int recorr­ido() {
 ­ ­ for (Contenida c: v) {
 ­ ­ ­ ­ ­ if (c != null) {
         ....
      }
 ­ ­ ­return ...;
}

Comments

No comments yet.

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.