This shows you the differences between two versions of the page.
|
java:packages:intro [2016/02/12 10:23] gthanos [Πακέτα στη γλώσσα προγραμματισμού Java] |
java:packages:intro [2022/02/24 13:59] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | ||
| - | Σε αυτό το κεφάλαιο θα δούμε πως μπορούμε να ομαδοποιήσουμε κλάσεις σε **πακέτα** (**packages**). Τα πακέτα μπορούν να περιέχουν τόσο κλάσεις όσο και διεπαφές (interfaces). Επειδή προς το παρόν δεν έχουμε μιλήσει για διεπαφές θεωρήστε ότι τα πακέτα σας διαθέτουν μόνο κλάσεις. Για τις διεπαφές ισχύει ότι ισχύει και για τις κλάσεις. | ||
| - | |||
| - | Προκειμένου να είναι ευκολότερη η ομαδοποίηση και η αναζήτηση κλάσεων που έχουν κοινά χαρακτηριστικά προκρίνεται από τη Java η ομαδοποίηση τους σε πακέτα που περιέχουν κλάσεις. Φανταστείτε ένα εικονικό " | ||
| - | |||
| - | Επιπλέον, | ||
| - | |||
| - | Για παράδειγμα, | ||
| - | |||
| - | <WRAP important center round 60%> | ||
| - | Η Java απαγορεύει την ύπαρξη δύο κλάσεων που έχουν το ίδιο όνομα και ανήκουν στο ίδιο πακέτο. | ||
| - | </ | ||
| - | |||
| - | Ας υποθέσουμε ότι έχουμε μία σειρά κλάσεων που περιγράφουν διάφορα είδη ποδηλάτου. | ||
| - | |||
| - | <code java> | ||
| - | public class Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | |||
| - | public class MountainBike extends Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | |||
| - | public class BicycleForTwo extends Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | |||
| - | public class MotorBike extends Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | <WRAP note> Έχουμε αναφέρει ότι κάθε κλάση ανήκει σε ξεχωριστό αρχείο .java. Η παραπάνω γραφή γίνεται για λόγους οικονομίας χώρου και δεν ανταποκρίνεται στις προδιαγραφές που θέτει ο compiler της Java. Το ίδιο ισχύει και για τον κώδικα παρακάτω. | ||
| - | </ | ||
| - | |||
| - | Καθώς όλες οι παραπάνω κλάσεις αφορούν τύπους ποδηλάτου θα μπορούσαν να ομαδοποιηθούν σε ένα πακέτο (package). Συνιστάται η ομαδοποίηση κλάσεων σε πακέτα για τους εξής λόγους: | ||
| - | - Κλάσεις με συγγενές αντικείμενο ομαδοποιούνται σε ένα πακέτο, | ||
| - | - Αποφεύγεται μία πιθανή " | ||
| - | - Όπως θα δούμε στη συνέχεια, | ||
| - | |||
| - | ====== Δημιουργία ενός πακέτου ====== | ||
| - | |||
| - | Για το παραπάνω απόσπασμα κώδικα η δημιουργία ενός πακέτου που να περιέχει όλες τις παραπάνω κλάσεις θα μπορούσε να δοθεί ως εξής. | ||
| - | |||
| - | <code java> | ||
| - | package bicycles; | ||
| - | public class Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | |||
| - | package bicycles; | ||
| - | public class MountainBike extends Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | |||
| - | package bicycles; | ||
| - | public class BicycleForTwo extends Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | |||
| - | package bicycles; | ||
| - | public class MotorBike extends Bicycle { | ||
| - | .... | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | Εάν δεν δημιουργήσετε ένα πακέτο για τις κλάσεις σας αυτές θα τοποθετηθούν στο ανώνυμο default πακέτο. Γενικά, | ||
| - | |||
| - | Όλα τα αρχεία των κλάσεων που ανήκουν στο πακέτο '' | ||
| - | |||
| - | < | ||
| - | bicycles/ | ||
| - | bicycles/ | ||
| - | bicycles/ | ||
| - | bicycles/ | ||
| - | bicycles/ | ||
| - | </ | ||
| - | |||
| - | |Προηγούμενο: | ||