This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
java:inheritance [2015/02/13 13:54] gthanos [Implicit και Explicit Casting of Objects] |
java:inheritance [2015/02/13 13:55] gthanos [Implicit και Explicit Casting of Objects] |
||
---|---|---|---|
Line 131: | Line 131: | ||
Εδώ ενημερώνουμε τον compiler ότι η μεταβλητή ''myBicycle'' είναι και τύπου ''MountainBike'', λαμβάνοντας ο προγραμματιστής την ευθύνη ότι κάτι τέτοιο ισχύει. Εάν δεν ισχύει κάτι τέτοιο κατά την εκτέλεση του προγράμματος θα παραχθεί μία εξαίρεση (exception)*. Θα δούμε πιο κάτω τι είναι και πως διαχειριζόμαστε τις εξαιρέσεις. | Εδώ ενημερώνουμε τον compiler ότι η μεταβλητή ''myBicycle'' είναι και τύπου ''MountainBike'', λαμβάνοντας ο προγραμματιστής την ευθύνη ότι κάτι τέτοιο ισχύει. Εάν δεν ισχύει κάτι τέτοιο κατά την εκτέλεση του προγράμματος θα παραχθεί μία εξαίρεση (exception)*. Θα δούμε πιο κάτω τι είναι και πως διαχειριζόμαστε τις εξαιρέσεις. | ||
+ | Ένα πιο ασφαλής τρόπος για να επαναλάβουμε τον παραπάνω κώδικα, χωρίς να παραχθεί εξαίρεση είναι ο εξής: | ||
+ | <code java> | ||
+ | Bycycle myBicycle = new Bicycle(); | ||
+ | MountainBike myBike; | ||
+ | if (myBicycle instanceof MountainBike) { | ||
+ | myBike = (MountainBike)myBicycle; | ||
+ | } | ||
+ | </code> | ||