Class relationships: Correct Solution


Consider the follow class declarations:

public class Belplal {
    public List<Scaho> getLalles() {
        ...
    }

    public List<Qoadont> getHeCings() {
        ...
    }
}

public class Bism extends SceSisso {
    public UeeStro getChot() {
        ...
    }
}

public class Castrint {
    public int getTarm() {
        ...
    }
}

public class Cirt {
    public GloBlosh getCed() {
        ...
    }

    public String getApic() {
        ...
    }
}

public class Debed extends Eino {
    public byte[] getSeorm() {
        ...
    }
}

public class Diod {
    public List<String> getSkist() {
        ...
    }
}

public class Distkord {
    public String getTuFimbe() {
        ...
    }
}

public class Eaene {
    public String getPrain() {
        ...
    }
}

public class Edpo extends JelDengried {
    public List<Xuwi> getEscals() {
        ...
    }

    public Castrint getStia() {
        ...
    }
}

public class Eino {
    public StiPno getOrpli() {
        ...
    }

    public Eaene getHiont() {
        ...
    }
}

public class Giollir {
    public List<Cirt> getTiIcs() {
        ...
    }

    public int getWoChre() {
        ...
    }
}

public class GloBlosh {
    public String getAnper() {
        ...
    }

    public List<Nifalt> getFreics() {
        ...
    }
}

public class JelDengried {
    public Belplal getTrau() {
        ...
    }

    public File getCerio() {
        ...
    }
}

public class Mocsis {
    public List<String> getHeldi() {
        ...
    }
}

public class Nifalt {
    public List<Sphestdi> getCexs() {
        ...
    }

    public Edpo getMadal() {
        ...
    }
}

public class Qoadont extends Stiost {
    public List<String> getCeclu() {
        ...
    }
}

public class Scaho {
    public List<String> getRor() {
        ...
    }
}

public class SceSisso {
    public File getSesm() {
        ...
    }

    public Diod getFlie() {
        ...
    }
}

public class Sphestdi {
    public List<String> getTasci() {
        ...
    }
}

public class StiPno extends Giollir {
    public String getSul() {
        ...
    }
}

public class Stiost extends Distkord {
    public List<Bism> getPutmes() {
        ...
    }

    public String getAddi() {
        ...
    }
}

public class Tastwiss extends Mocsis {
    public List<Debed> getCeEosses() {
        ...
    }
}

public class UeeStro {
    public List<String> getOjan() {
        ...
    }
}

public class Xuwi {
    public byte[] getOfEpolt() {
        ...
    }
}
  1. Draw a diagram showing the class relationships.

    You only need to diagram the classes listed above. You only need to show the name of each class; do not show their methods or properties.

    Draw arrows between the classes that have relationships, and label each arrow with one of the following:

    Make sure your arrows point in the correct direction!

    Solution

  2. Given the following variable:

    Tastwiss uer

    ...and the following method:

    public void process(String item)

    ...write code to process the addi of the first heCing of the first freic of each tiIc of the first ceEoss of uer.

    Solution

    for (Debed ceEoss : uer.getCeEossesList()) {
        for (Nifalt freic : ceEoss.getEino().getOrpli().getGiollir().getTiIcs().get(0).getCed().getFreicsList()) {
            for (Qoadont heCing : freic.getMadal().getJelDengried().getTrau().getHeCingsList()) {
                process(heCing.getStiost().getAddi());
            }
        }
    }

Related puzzles: