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