74.    Fábricas [factories] (concepto)

Son métodos de clase (static) que crean objetos.

A diferencia de los métodos constructores

·         pueden tener cualquier nombre

·         pueden haber varios con el mismo número y tipo de argumentos, siempre y cuando difieran en el nombre

·         pueden no llegar a crear ningún objeto (típicamente, devolviendo “null”)

class Punto2D

public class Punto2D         {

    // representación interna: coordenadas cartesianas

    private double x, y;

 

    // constructor interno: coordenadas cartesianas

    private Punto2D(double x, double y) {

        this.x = x;

        this.y = y;

    }

   

    // fábrica: coordenadas cartesianas

    public static Punto2D cartesianas(double x, double y) {

        return new Punto2D(x, y);

    }

 

    // fábrica: coordenadas polares

    public static Punto2D polares(double modulo, double angulo) {

        double x = modulo * Math.cos(angulo);

        double y = modulo * Math.sin(angulo);

        return new Punto2D(x, y);

    }

}     

 

Ver “Constructores”.

Temas relacionados

Vademécum