eaphelp/dilosi-metavliton-java-static-private-protected-public
Όταν κάνουμε μια δήλωση μεταβλητών σε ένα πρόγραμμα στην Java ουσιαστικά τοποθετούμε έναν έλεγχο πρόσβασης για την συγκεκριμένη μεταβλητή, και αυτό επειδή προσδιορίζει το πως άλλα αντικείμενα, που αποτελούνται από κλάσεις, μπορούν να χρησιμοποιούν την μεταβλητή αυτή μέσα από τις μεθόδους τους στην java ή αν θα έχουν τελικά πρόσβαση σε αυτή.
Η δήλωση των μεταβλητών δεν επηρεάζει μόνο τις μεθόδους της κλάσης που υλοποιούνται, αλλά μπορεί να επηρεάσει ακόμα και τις σχέσεις μεταξύ των κλάσεων και γενικά την όλη λειτουργία της εφαρμογής μας στην Java. Ακόμα, και σε πολλές περιπτώσεις, η σωστή δήλωση μεταβλητών στο πρόγραμμά μας δίνει την δυνατότητα της υλοποίησης του πολυμορφισμού Overriding, Overloading, Dynamic method binding με επιτυχία.

Κάθε αντικείμενο -κλάση στην java αποτελείται από χαρακτηριστικά. Αυτά τα χαρακτηριστικά είναι οι μεταβλητές της, αυτές μπορεί είναι string, integer, boolean κτλ.και αποτελούν τα "γνωρίσματα" της κλάσης. Κάτι που συμβαίνει με κάθε οντότητα ή αντικείμενο που βρίσκεται στον φυσικό μας κόσμο. Στον αντικειμενοστρεφή προγραμματισμό και στην Java λειτουργούμε όπως στην φύση.

Δήλωση Μεταβλητών

public variable_type variable_name
Με τον καθορισμό μιας μεταβλητής σε public η κλάση χάνει τον έλεγχο ως προς τον τρόπο που η μεταβλητή χρησιμοποιείται από άλλα προγράμματα. Στην ουσία, μια τέτοια δήλωση καθιστά την μεταβλητή "ελεύθερη" να χρησιμοποιηθεί και από άλλες κλάσεις ή μεθόδους που δεν ανήκουν στην ίδια κλάση. Αυτός είναι ο λόγος που οι περισσότερες, αν όχι όλες, κλάσεις μιας εφαρμογής δηλώνονται ως public ώστε να συνεργάζονται ή αλλιώς να "βλέπονται" μεταξύ τους. Αποτελεί μια καθολική δήλωση σε επίπεδο προγράμματος.

static variable_type variable_name
Σε αντίθεση με την προηγούμενη δήλωση, ο προσδιορισμός μιας μεταβλητής σε static την καθιστά μεταβλητή κλάσης. Η εμβέλεια της static μεταβλητής αφορά ολόκληρη την κλάση  που ανήκει και μπορεί να αναγνωρίζεται από όλες τις μεθόδους της ίδιας κλάσης. Συνήθως μια μεταβλητή δηλώνεται ως static εφόσον θέλουμε να διατηρήσουμε πληροφορίες σε επίπεδο κλάσης, όπως για παράδειγμα ένας μετρητής(counter).

protected variable_type variable_name
Ο περιορισμός της πρόσβασης σε μια μεταβλητή αποτρέπει τα σφάλματα, αν η μεταβλητή οριστεί με λάθος τρόπο από άλλο πρόγραμμα. Η δήλωση protected ορίζει την μεταβλητή ως μεταβλητή που μπορεί να χρησιμοποιηθεί μόνο στην ίδια κλάση που καταχωρείται η  μεταβλητή , ή από υποκλάσεις αυτής της κλάσης ή από κλάσεις που ανήκουν στο ίδιο πακέτο
Ένα πακέτο (package) είναι μια ομάδα σχετικών κλάσεων που εξυπηρετούν ένα κοινό στόχο. 

private variable_type variable_name
Όταν θέλουμε να περιορίσουμε ακόμα πιο πολύ μια μεταβλητή σε επίπεδο μόνο της κλάσης της, τότε την δηλώνουμε ως private. Κατά την δήλωση αυτή, ο περιορισμός είναι μεγαλύτερος από την δήλωση proteced, αφού η εμβέλεια της οριοθετείται μόνο εντός αυτής της κλάσης.

Δήλωση... χωρίς δήλωση
Υπάρχει επίσης ένας άλλος τύπος ελέγχου πρόσβασης, με την έλλειψη οποιασδήποτε πρότασης static, private, protected και public όταν δημιουργούμε την μεταβλητή. Όταν δεν καθορίζεται ο έλεγχος πρόσβασης, η μεταβλητή είναι διαθέσιμη μόνο στις κλάσεις του ίδιου πακέτου. Αυτό ονομάζεται προεπιλεγμένη πρόσβαση ή πρόσβαση σε επίπεδο πακέτου.

Είναι σημαντικό για όποιον θέλει να ασχοληθεί με τον προγραμματισμό σε java να μπορεί να ξεχωρίζει τόσο απλές αλλά και σημαντικές έννοιες όπως η δήλωση μεταβλητών. Σίγουρα όσοι αυτή την στιγμή διαβάζουν αυτές τις γραμμές θα θυμούνται προβλήματα που αντιμετώπισαν από αυτές τις δηλώσεις, στα πρώτα βήματα προγραμματισμού που έκαναν. Μπορείτε να αφήσετε στα σχόλια τις δικέ σας "εμπειρίες" ή αξιολογήστε αυτό το άρθρο δίνοντας  τον βαθμό σας.


Θέλετε να λαμβάνετε πρώτοι τις ενημερώσεις μας; εγγραφείτε τώρα
IT Special Advisor