Class relationships: Correct Solution


Consider the follow class declarations:

public class Daberm {
    public List<Permtron> getIoTus() {
        ...
    }

    public Smes getOcPepel() {
        ...
    }

    public Macja getAnbu() {
        ...
    }
}

public class Engo {
    public byte[] getTrucu() {
        ...
    }
}

public class Epar {
    public int getSti() {
        ...
    }

    public List<Fackong> getCiacs() {
        ...
    }
}

public class Fackong {
    public int getMoIer() {
        ...
    }

    public Pieng getMact() {
        ...
    }
}

public class Flim {
    public String getDarm() {
        ...
    }

    public List<Seoun> getTepis() {
        ...
    }
}

public class Grong extends Daberm {
    public byte[] getElal() {
        ...
    }
}

public class HaaShiltu {
    public File getNoOec() {
        ...
    }
}

public class HarCheent {
    public int getGrert() {
        ...
    }

    public List<Spos> getHerins() {
        ...
    }
}

public class Hephall {
    public byte[] getHonun() {
        ...
    }
}

public class Macja {
    public List<String> getCeAno() {
        ...
    }
}

public class Oeost {
    public List<Engo> getUcCos() {
        ...
    }

    public Flim getEsAstod() {
        ...
    }
}

public class Olscin extends HarCheent {
    public Hephall getIang() {
        ...
    }

    public List<Grong> getRujis() {
        ...
    }

    public List<Osmed> getDeqots() {
        ...
    }
}

public class Osmed {
    public int getAclex() {
        ...
    }
}

public class Permtron {
    public File getUhot() {
        ...
    }
}

public class Pieng {
    public Scabci getCua() {
        ...
    }

    public File getLasis() {
        ...
    }
}

public class Pirast {
    public byte[] getTriar() {
        ...
    }

    public Sasmis getRimpe() {
        ...
    }
}

public class Prarpror extends Uststir {
    public File getVeLia() {
        ...
    }
}

public class Sasmis {
    public File getEgru() {
        ...
    }
}

public class Scabci {
    public List<Prarpror> getOnZidas() {
        ...
    }

    public Pirast getPeCism() {
        ...
    }
}

public class Seoun extends HaaShiltu {
    public File getAnSul() {
        ...
    }

    public byte[] getIpax() {
        ...
    }
}

public class Smes extends Epar {
    public byte[] getEbal() {
        ...
    }
}

public class Spos {
    public Stia getPem() {
        ...
    }

    public byte[] getRaMe() {
        ...
    }
}

public class Stia {
    public List<String> getPiouh() {
        ...
    }
}

public class Uststir extends Oeost {
    public int getFela() {
        ...
    }
}
  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:

    Olscin aci

    ...and the following method:

    public void process(byte[] item)

    ...write code to process the ipax of the first tepi of each onZida of the first ciac of the first ruji of aci.

    Solution

    for (Grong ruji : aci.getRujisList()) {
        for (Fackong ciac : ruji.getDaberm().getOcPepel().getEpar().getCiacsList()) {
            for (Seoun tepi : ciac.getMact().getCua().getOnZidas().get(0).getUststir().getOeost().getEsAstod().getTepisList()) {
                process(tepi.getIpax());
            }
        }
    }

Related puzzles: