Imagine que desejemos ter dois atributos: origem_x e origem_y, em todos os objetos que representem uma Forma. Como uma interface não pode conter atributos, será preciso converter Forma para uma classe abstrata que chamaremos de Forma2, como segue:

public abstract class Forma2 {
	//Atributos
	private int origem_x ;
	private int origem_y ;
	//Construtor
	public Forma2() {
		this. origem_x = 0;
		this. origem_y = 0;
	}
	//Classes reais
	public int getOrigemX() {
		return this.origem_x;
	}
	public int getOrigemY() {
		return this.origem_y;
	}
	public void setOrigemX(int x) {
		this.origem_x = x;
	}
	public void setOrigemY(int y) {
		this.origem_y = y;
	}
	//Classes abstratas
	public abstract float area();
	public abstract float perimetro();
	public abstract void mostrar();
}

Note que a declaração de métodos abstratos foi feita incluindo a palavra-chave abstract antes do nome do método e terminando a declaração por ponto e vírgula em lugar de abre e fecha chaves.

Copyright © 2014 AIEC.