Class relationships: Correct Solution


Consider the follow class declarations:

public class Bapa {
    public String getScesi() {
        ...
    }

    public File getVeIntas() {
        ...
    }
}

public class Bulul {
    public File getWuRi() {
        ...
    }
}

public class Eppis {
    public File getDosme() {
        ...
    }

    public List<Pofi> getNacs() {
        ...
    }
}

public class Hefast {
    public List<Irtthue> getAsRhals() {
        ...
    }

    public Bulul getOdFron() {
        ...
    }

    public List<VesPrir> getSphises() {
        ...
    }
}

public class Idprias {
    public List<String> getEvest() {
        ...
    }
}

public class Irtthue {
    public byte[] getEdAc() {
        ...
    }

    public Oudi getEtIpe() {
        ...
    }
}

public class Oudi extends Eppis {
    public String getXendi() {
        ...
    }
}

public class Pofi extends Bapa {
    public XucUghva getTism() {
        ...
    }
}

public class VesPrir {
    public List<String> getIoFead() {
        ...
    }
}

public class XucUghva extends Idprias {
    public List<String> getPrido() {
        ...
    }
}
  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:

    Hefast besm

    ...and the following method:

    public void process(File item)

    ...write code to process the veIntas of the first nac of the first asRhal of besm.

    Solution

    for (Irtthue asRhal : besm.getAsRhalsList()) {
        for (Pofi nac : asRhal.getEtIpe().getEppis().getNacsList()) {
            process(nac.getBapa().getVeIntas());
        }
    }

Related puzzles: