/** Hace override de describe() usando un campo propio. Es final: nadie la extiende. */
public final class LabeledTag extends Tag {
    private final String label;

    public LabeledTag(String label) {
        super();                        // aquí corre Tag(), que llama a describe()
        this.label = label;
        IO.println("LabeledTag(): " + describe());
    }

    @Override
    public String describe() {
        return "etiqueta " + label;
    }
}
