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