Μάθημα : ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Μ135)
Κωδικός : DI615
Κοινές συμβάσεις για την 1η εργασία
Δύο κοινές συμβάσεις που απλοποιούν την υλοποίηση σε κάποιες λεπτομέρειες της 1ης εργασίας.
-
Τα static χαρακτηριστικά (πεδία ή/και μέθοδοι) ενός υπερ-τύπου, όταν είναι “ορατά” από τον υπο-τύπο, πρέπει να προσμετρώνται στα συνολικά χαρακτηριστικά (πεδία ή/και μέθοδοι) του υπο-τύπου, δεδομένου ότι το όνομα τους δεν “επαναορίζεται” στον υπο-τύπο (π.χ. shadow πεδίων, override ή overload μεθόδων).
-
Οι κλάσεις του JDK είναι πάντα διαθέσιμες στο classpath κι επομένως δεν υπάρχει περίπτωση να μην γίνουν load μέσω του reflection API. Αυτό, όμως, δεν ισχύει για τρίτες κλάσεις (π.χ. κάποιου library). Η υλοποίησή σας θα πρέπει να θεωρεί ότι το input file είναι “σωστό”, δεν περιέχει δηλαδή ονόματα τύπων, για τους οποίους θα αποτύχει το reflective load. Αν προκύψει κάποιο class loading error (π.χ. ClassNotFoundError) η εφαρμογή σας θα πρέπει να τερματίζει χωρίς να γίνεται προσπάθεια χειρισμού αυτής της πείρπτωσης από τον κώδικά σας.