Considere o código Java a seguir:
abstract class Documento {
public abstract String getTipo();
public String descricao() {
return "Documento do tipo: " + getTipo();
}
}
class Relatorio extends Documento {
@Override
public String getTipo() {
return "Relatório";
}
}
public class Sistema {
public static void main(String[] args) {
Documento doc = new Relatorio();
System.out.println(doc.descricao());
}
}
Sob a ótica de orientação a objetos em Java, assinale a alternativa correta a respeito do código apresentado.