Show Menu
Cheatography

Composición en Java Cheat Sheet by

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

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. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Selenium WebDriver Cheat Sheet Cheat Sheet
          Cypressio Cheat Sheet
          ISTQB Test Automation Engineering Cheat Sheet

          More Cheat Sheets by diegojserrano

          Arreglos en Java Cheat Sheet