Imagem de fundo

A Figura a seguir exibe um diagrama de classes UML. Admita...

A Figura a seguir exibe um diagrama de classes UML.


Imagem associada para resolução da questão


Admita que o diagrama acima não contenha erros.


Qual conjunto de tipos Java é semanticamente compatível com esse diagrama?


A

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;

}


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;

}


C

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;

}


D

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;

}


E

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() {

}

}