User Tools

Site Tools


java:nested_classes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:nested_classes [2017/02/06 13:12] – [Τα είδη των εμφωλευμένων κλάσεων] gthanosjava:nested_classes [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 17: Line 17:
  
   * Η χρήση εμφωλευμένων κλάσεων μας δίνει την δυνατότητα να ομαδοποιήσουμε μέσα σε ένα αρχείο κλάσεις που χρησιμοποιούνται μόνο σε ένα σημείο του προγράμματος μας. Συνήθως οι εμφωλευμένες κλάσεις είναι βοηθητικές κλάσεις που χρησιμοποιούνται από την εξωτερική κλάση.   * Η χρήση εμφωλευμένων κλάσεων μας δίνει την δυνατότητα να ομαδοποιήσουμε μέσα σε ένα αρχείο κλάσεις που χρησιμοποιούνται μόνο σε ένα σημείο του προγράμματος μας. Συνήθως οι εμφωλευμένες κλάσεις είναι βοηθητικές κλάσεις που χρησιμοποιούνται από την εξωτερική κλάση.
-  * Όπως θα δούμε παρακάτω οι εμφωλευμένες κλάσεις έχουν πρόσβαση στα πεδία και τις μεθόδους της εξωτερικής τους κλάσης και αντίστροφά η εξωτερική κλάση έχει πρόσβαση στα πεδία και τις μεθόδους της εμφωλευμένης κλάσης ανεξάρτητα από τους προσδιορισστές πρόσβασης που θα οριστούν για την εσωτερική κλάση ή τα πεδία και τις μεθόδους της εξωτερικής κλάσης. Το παραπάνω δίνει την δυνατότητα να ορίσουμε εμφωλευμένες κλάσεις ως **private** κλάσεις, οι οποίες είναι προσβάσιμες από την εξωτερική κλάση, αλλά όχι από άλλες κλάσεις στο ίδιο ή σε άλλο πακέτο. Με αυτό τον τρόπο επιτυγχάνεται απόκρυψη της πληροφορίας που είναι ένα από τα ζητούμενα στον αντικειμενοστραφή προγραμματισμό.+  * Όπως θα δούμε παρακάτω οι εμφωλευμένες κλάσεις έχουν πρόσβαση στα πεδία και τις μεθόδους της εξωτερικής τους κλάσης και αντίστροφά η εξωτερική κλάση έχει πρόσβαση στα πεδία και τις μεθόδους της εμφωλευμένης κλάσης ανεξάρτητα από τους προσδιοριστές πρόσβασης που θα οριστούν για την εσωτερική κλάση ή τα πεδία και τις μεθόδους της εξωτερικής κλάσης. Το παραπάνω δίνει την δυνατότητα να ορίσουμε εμφωλευμένες κλάσεις ως **private** κλάσεις, οι οποίες είναι προσβάσιμες από την εξωτερική κλάση, αλλά όχι από άλλες κλάσεις στο ίδιο ή σε άλλο πακέτο. Με αυτό τον τρόπο επιτυγχάνεται απόκρυψη της πληροφορίας που είναι ένα από τα ζητούμενα στον αντικειμενοστραφή προγραμματισμό.
  
 <WRAP info 80% center round> Οι εμφωλευμένες κλάσεις χρησιμοποιούνται συχνά κατά τη συγγραφή παραθυρικών εφαρμογών (Graphical User Interfaces) με χρήση Swing. <WRAP info 80% center round> Οι εμφωλευμένες κλάσεις χρησιμοποιούνται συχνά κατά τη συγγραφή παραθυρικών εφαρμογών (Graphical User Interfaces) με χρήση Swing.
Line 26: Line 26:
 Οι εμφωλευμένες κλάσεις μπορούν να χωριστούν στις εξής κατηγορίες. Οι εμφωλευμένες κλάσεις μπορούν να χωριστούν στις εξής κατηγορίες.
  
-<code> +{{ :java:nested-classes.png?700 |}}
-                      Nested Classes +
-                            | +
-                            v +
-        ------------------------------------------------------- +
-        |                                                     | +
-        v                                                     v +
-   Static Nested                                      Non-Static Nested +
-      Classes                                              Classes +
-                                            _________________/|\__________________ +
-                                            |                                  | +
-                                            v                                  v +
-                                       Inner Classes     Local Inner     Anonymous Inner +
-                                                           Classes            Classes +
-</code>+
  
   * **Μη-στατικές εμφωλευμένες κλάσεις:**   * **Μη-στατικές εμφωλευμένες κλάσεις:**
Line 48: Line 34:
   * **Στατικές εμφωλευμένες κλάσεις:** Στατικές εμφωλευμένες κλάσεις   * **Στατικές εμφωλευμένες κλάσεις:** Στατικές εμφωλευμένες κλάσεις
  
-|Προηγούμενο: [[ :java:interface | Διεπαφή ]] | Επόμενο: [[ :java:inner_classes | Μη στατικές εμφωλευμένες κλάσεις ]]|+|Προηγούμενο: [[ :java:interface | Διεπαφή ]] | [[:toc|Περιεχόμενα]] | Επόμενο: [[ :java:inner_classes | Μη στατικές εμφωλευμένες κλάσεις ]]|
  
  
java/nested_classes.1486386730.txt.gz · Last modified: 2017/02/06 13:12 by gthanos