

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
A Figura a seguir exibe um diagrama de classes UML.

Admita que o diagrama acima não contenha erros.
Qual conjunto de tipos Java é semanticamente compatível com esse diagrama?
public interface Xpto {
public int att1 = 0;
public int att2 = 0;
public void opX();
}
import java.util.ArrayList;
public class A implements Xpto {
private String a1;
private String a2;
private ArrayList<R> r;
public void opA() {
}
public void opB() {
}
public void opX() {
}
}
import java.util.ArrayList;
public class B {
private String b1;
private ArrayList<R> r;
public void opC() {
}
}
public class R {
private String r1;
private A a;
private B b;
}
public class Xpto {
public int att1 = 0;
public int att2 = 0;
public void opX();
}
import java.util.ArrayList;
public class A extends Xpto {
private String a1;
private String a2;
private ArrayList<R> r;
public void opA() {
}
public void opB() {
}
public void opX() {
}
}
import java.util.ArrayList;
public class B {
private String b1;
private ArrayList<R> r;
public void opC() {
}
}
public class R {
private String r1;
private A a;
private B b;
}
public class Xpto {
public int att1 = 0;
public int att2 = 0;;
public void opX();
}
public class A extends Xpto {
private String a1;
private String a2;
public void opA() {
}
public void opB() {
}
public void opX() {
}
}
public class B {
private String b1;
private R[ ] r;
public void opC() {
}
}
public class R {
private String r1;
private A a;
}
public interface Xpto {
public int att1 = 0;
public int att2 = 0;
public void opX();
}
public class A implements Xpto {
private String a1;
private String a2;
public void opA() {
}
public void opB() {
}
public void opX() {
}
}
public class B {
private String b1;
private R[ ] r;
public void opC() {
}
}
public class R {
private String r1;
private A a;
}
public class Xpto {
public int att1 = 0;
public int att2 = 0;
public void opX();
}
public class A extends Xpto {
private String a1;
private String a2;
public void opA() {
}
public void opB() {
}
public void opX() {
}
}
import java.util.ArrayList;
public class B {
private String b1;
private ArrayList<A> a;
private ArrayList<String> r1;
public void opC() {
}
}