Substituir classe de um pacote .jar

1 resposta
J

Pessoal, tenho a seguinte classe:

`public class Canvas {

public void drawRect(double x1, double y1, double x2, double y2) { 
    drawRectWH(x1, y1, x2 - x1, y2 - y1); 
} 

public void drawRectWH(double x, double y, double w, double h) { 
    getCanvasImp().deviceFillRect(x, y, w, h); 
}

}`

Essa classe na verdade está em uma dependência do Maven. É possível sobrescrever o método drawRect e fazer com que toda vez que esta classe for instanciada pela biblioteca do Maven, seja utilizado o método sobrescrito e não o original?

1 Resposta

H

Você não pode usar uma classe que herde da classe Canvas e que sobrescreva o método?

public class CanvasFilho extends Canvas {

	@Override
	public void drawRect(double x1, double y1, double x2, double y2) {
		// método sobrescrito
	}

	@Override
	public void drawRectWH(double x, double y, double w, double h) {
		// método sobrescrito
	}
}

E depois:

Canvas c = new CanvasFilho();
		
c.drawRect(x1, y1, x2, y2);

Abcs!

Criado 20 de março de 2016
Ultima resposta 22 de mar. de 2016
Respostas 1
Participantes 2