package com.miriadax.practicaclasepunto;
/**
 * @author Víctor D. García - 2016 (programa: Crear una clase Punto)
 * @category Programación con Java Standard, miriadax.net
 */
public class Punto {

	// Coordenadas 'x' e 'y' del sistema cartesiano.
	private int x;
	private int y;
	
	// constructor sin parámetros
	public Punto() {
		this.x = 0;
		this.y = 0;
	}

	// constructor con las coordenadas como parámetros
	public Punto(int x, int y) {
		this.x = x;
		this.y = y;
	}
	
	// constructor con un objeto de la clase Punto como parámetro
	public Punto(Punto punto) {
		this.x = punto.x;
		this.y = punto.y;
	}
	
	// Es deseable que el formato de salida del texto lo determine la clase que haga uso de
	// este método (si 'Punto' fuese una clase compilada y se hiciese uso de ella, el usuario
	// no podría cambiar el formato del texto de salida...
	public void pintar(String formatoSalida) {
		System.out.println(String.format(formatoSalida, this.x, this.y));
	}
	
	// Sobrecarga del método para mostrar un datos extra (si es un array, qué elemento es...etc...)
	public void pintar(String formatoSalida, int tag) {
		System.out.println(String.format(formatoSalida, tag,  this.x, this.y));
	}
}
