This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:packages:intro [2017/02/10 11:16] gthanos |
java:packages:intro [2022/02/24 13:52] gthanos [Πακέτα στη γλώσσα προγραμματισμού Java] |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| Προκειμένου να είναι ευκολότερη η ομαδοποίηση και η αναζήτηση κλάσεων που έχουν κοινά χαρακτηριστικά προτείνεται από τη Java η ομαδοποίηση τους σε πακέτα. Φανταστείτε ένα εικονικό " | Προκειμένου να είναι ευκολότερη η ομαδοποίηση και η αναζήτηση κλάσεων που έχουν κοινά χαρακτηριστικά προτείνεται από τη Java η ομαδοποίηση τους σε πακέτα. Φανταστείτε ένα εικονικό " | ||
| - | |||
| - | Επιπλέον, | ||
| - | |||
| - | Για παράδειγμα, | ||
| - | |||
| - | <WRAP important center round 60%> | ||
| - | O compiler της Java απαγορεύει την ύπαρξη δύο κλάσεων που έχουν το ίδιο όνομα και ανήκουν στο ίδιο πακέτο. | ||
| - | </ | ||
| Ας υποθέσουμε ότι έχουμε μία σειρά κλάσεων που περιγράφουν διάφορα είδη ποδηλάτου. | Ας υποθέσουμε ότι έχουμε μία σειρά κλάσεων που περιγράφουν διάφορα είδη ποδηλάτου. | ||
| - | <code java> | + | * Bicycle |
| - | // | + | |
| - | public class Bicycle { | + | |
| - | | + | |
| - | } | + | |
| - | + | ||
| - | // | + | |
| - | public class MountainBike extends Bicycle { | + | |
| - | | + | |
| - | } | + | |
| - | + | ||
| - | // | + | |
| - | public class BicycleForTwo extends Bicycle { | + | |
| - | | + | |
| - | } | + | |
| - | + | ||
| - | // | + | |
| - | public class MotorBike extends Bicycle { | + | |
| - | | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP info 80% center round> Έχουμε αναφέρει ότι κάθε κλάση ανήκει σε ξεχωριστό αρχείο .java. Η παραπάνω γραφή γίνεται για λόγους οικονομίας χώρου και δεν ανταποκρίνεται στις προδιαγραφές που θέτει ο compiler της Java. Το ίδιο ισχύει και για τον κώδικα παρακάτω. | + | |
| - | </ | + | |
| Καθώς όλες οι παραπάνω κλάσεις αφορούν τύπους ποδηλάτου θα μπορούσαν να ομαδοποιηθούν σε ένα πακέτο (package). Συνιστάται η ομαδοποίηση κλάσεων σε πακέτα για τους εξής λόγους: | Καθώς όλες οι παραπάνω κλάσεις αφορούν τύπους ποδηλάτου θα μπορούσαν να ομαδοποιηθούν σε ένα πακέτο (package). Συνιστάται η ομαδοποίηση κλάσεων σε πακέτα για τους εξής λόγους: | ||
| - | | + | |
| - | | + | |
| - | - Όπως θα δούμε στη συνέχεια, | + | |
| - | ====== Δημιουργία πακέτου | + | ==== Δημιουργία πακέτου ==== |
| Για το παραπάνω απόσπασμα κώδικα η δημιουργία ενός πακέτου που να περιέχει όλες τις παραπάνω κλάσεις θα μπορούσε να δοθεί ως εξής. | Για το παραπάνω απόσπασμα κώδικα η δημιουργία ενός πακέτου που να περιέχει όλες τις παραπάνω κλάσεις θα μπορούσε να δοθεί ως εξής. | ||
| - | <code java> | + | <code java Bicycle.java> |
| - | // | + | |
| package bicycles; | package bicycles; | ||
| public class Bicycle { | public class Bicycle { | ||
| .... | .... | ||
| } | } | ||
| + | </ | ||
| - | // | + | <code java MountainBike.java> |
| package bicycles; | package bicycles; | ||
| - | public class MountainBike | + | public class MountainBike { |
| .... | .... | ||
| } | } | ||
| + | </ | ||
| - | // | + | <code java BicycleForTwo.java> |
| package bicycles; | package bicycles; | ||
| - | public class BicycleForTwo | + | public class BicycleForTwo { |
| .... | .... | ||
| } | } | ||
| + | </ | ||
| - | // | + | <code java MotorBike.java> |
| package bicycles; | package bicycles; | ||
| - | public class MotorBike | + | public class MotorBike { |
| .... | .... | ||
| } | } | ||
| Line 88: | Line 61: | ||
| Η δήλωση δηλαδή ενός ή περισσότερων πακέτων προϋποθέτει την ύπαρξη μία ιεραρχίας καταλόγων για τα αρχεία **.java** που περιέχονται στα πακέτα αυτά. | Η δήλωση δηλαδή ενός ή περισσότερων πακέτων προϋποθέτει την ύπαρξη μία ιεραρχίας καταλόγων για τα αρχεία **.java** που περιέχονται στα πακέτα αυτά. | ||
| + | |||
| + | ==== Συγκρούσεις ονομάτων ==== | ||
| + | |||
| + | Επιπλέον, | ||
| + | |||
| + | Για παράδειγμα, | ||
| + | |||
| + | <WRAP important center round 80%> | ||
| + | O compiler της Java απαγορεύει την ύπαρξη δύο κλάσεων που έχουν το ίδιο όνομα και ανήκουν στο ίδιο πακέτο. | ||
| + | </ | ||
| |Προηγούμενο: | |Προηγούμενο: | ||