encapsulation java
Μάθετε για το Encapsulation στην Java με παραδείγματα, γιατί το χρειαζόμαστε, τις σχετικές μεθόδους λήψης και ρύθμισης:
καλό πρόγραμμα λήψης μουσικής mp3 για Android
Σε αυτό το σεμινάριο, θα συζητήσουμε μια άλλη ιδέα OOP - «Encapsulation». Το OOP έχει τέσσερις πυλώνες, την αφαίρεση, την ενθυλάκωση, τον πολυμορφισμό και την κληρονομιά.
Ενώ η αφαίρεση χρησιμοποιείται για την έκθεση μόνο των σχετικών λεπτομερειών στον τελικό χρήστη, η ενθυλάκωση ασχολείται κυρίως με την ασφάλεια δεδομένων. Για τη διασφάλιση της ασφάλειας των δεδομένων, η ενθυλάκωση προστατεύει τα μέλη των δεδομένων από ανεπιθύμητη πρόσβαση καθορίζοντας τροποποιητές πρόσβασης και επίσης ομαδοποιεί τα δεδομένα σε μία μόνο μονάδα.
=> Ανατρέξτε στον τέλειο οδηγό εκπαίδευσης Java εδώ.
Πώς μπορούμε λοιπόν να ορίσουμε το Encapsulation στην Java;
Ορισμός της ενθυλάκωσης
'Η ενθυλάκωση σε Java μπορεί να οριστεί ως ένας μηχανισμός με τον οποίο τα δεδομένα και οι μέθοδοι που λειτουργούν σε αυτά τα δεδομένα τυλίγονται για να σχηματίσουν μια ενιαία μονάδα.'
Τι θα μάθετε:
Τι είναι η ενθυλάκωση στην Java
Χρησιμοποιώντας ενθυλάκωση μπορούμε επίσης να αποκρύψουμε τα μέλη δεδομένων τάξης (μεταβλητές) από τις άλλες κατηγορίες. Αυτές οι μεταβλητές μελών δεδομένων μπορούν να προσπελαστούν έμμεσα χρησιμοποιώντας μεθόδους της κλάσης στην οποία δηλώνονται. Οι μέθοδοι με τη σειρά τους έχουν πρόσβαση χρησιμοποιώντας το αντικείμενο αυτής της κλάσης.
Αυτό που καταλήγουμε λοιπόν από τον παραπάνω ορισμό είναι ότι έχουμε αποκρύψει τις μεταβλητές μελών δεδομένων μέσα σε μια κλάση και έχουμε επίσης καθορίσει τους τροποποιητές πρόσβασης έτσι ώστε να μην είναι προσβάσιμες στις άλλες κατηγορίες.
Έτσι, η ενθυλάκωση είναι επίσης ένα είδος «απόκρυψης δεδομένων» αν και αργότερα στο σεμινάριο θα δούμε ότι η ενθυλάκωση δεν είναι η ίδια με την απόκρυψη δεδομένων.
Το παραπάνω σχήμα αντιπροσωπεύει μια κλάση η οποία είναι μια μονάδα ενθυλάκωσης που συνδυάζει τα δεδομένα και τις μεθόδους που λειτουργούν σε αυτά τα δεδομένα σε μία μόνο μονάδα.
Καθώς η ενθυλάκωση ασχολείται κυρίως με δεδομένα, καλείται εναλλακτικά «ενθυλάκωση δεδομένων».
Μπορούμε να απεικονίσουμε την ενθυλάκωση ως ιατρική κάψουλα. Όπως όλοι γνωρίζουμε ότι το φάρμακο περικλείεται μέσα σε ιατρική κάψουλα. Παρομοίως, τα δεδομένα και οι μέθοδοι περικλείονται σε μία μονάδα σε ενθυλάκωση.
Έτσι, η ενθυλάκωση ενεργεί ως προστατευτική ασπίδα γύρω από τα δεδομένα και αποτρέπει τα δεδομένα από μη εξουσιοδοτημένη πρόσβαση από τον έξω κόσμο. Με άλλα λόγια, προστατεύει τα ευαίσθητα δεδομένα της εφαρμογής μας.
Στην Java, υπάρχουν δύο βήματα για την εφαρμογή ενθυλάκωσης. Ακολουθούν τα βήματα:
- Χρησιμοποιήστε τον τροποποιητή πρόσβασης «ιδιωτικό» για να δηλώσετε τις μεταβλητές των μελών της τάξης.
- Για να αποκτήσετε πρόσβαση σε αυτές τις μεταβλητές ιδιωτικών μελών και να αλλάξετε τις τιμές τους, πρέπει να παρέχουμε τις δημόσιες μεθόδους λήψης και ρύθμισης αντίστοιχα.
Ας εφαρμόσουμε τώρα το παράδειγμα ενθυλάκωσης στην Java.
Παράδειγμα ενθυλάκωσης Java
//Student_Id and name bundled in a unit 'Student' => encapsulation class Student { private int Student_Id; private String name; //getters, setters for Student_Id and name fields. public int getId() { return Student_Id; } public void setId(int s_id) { this.Student_Id = s_id; } public String getname() { return name; } public void setname(String s_name) { this.name = s_name; } } class Main{ public static void main(String() args) { //create an object of Student class Student s=new Student(); //set fields values using setter methods s.setId (27); s.setname('Tom Lee'); //print values using getter methods System.out.println('Student Data:' + '
Student ID:' + s.getId() + ' Student Name:' + s.getname()); } }
Παραγωγή:
Στο παραπάνω πρόγραμμα, δηλώνουμε μια κλάση που είναι η μονάδα ενθυλάκωσης. Αυτός ο μαθητής της τάξης έχει ομαδοποιήσει τα δεδομένα (Student_Id και name) και τις μεθόδους ανάγνωσης και ορισμού τιμών για αυτά τα μέλη σε μία ενότητα.
Σημειώστε τους τροποποιητές πρόσβασης που σχετίζονται με τα πεδία μέλους. Και τα δύο πεδία μέλη είναι ιδιωτικά, ώστε να μην είναι προσβάσιμα εκτός της τάξης μαθητών.
Παρέχουμε getters (getId και getname) για να διαβάσουμε τις τιμές αυτών των πεδίων και τις μεθόδους setter (setId και setname) για να ορίσουμε τιμές για αυτές τις μεθόδους. Αυτή είναι η μόνη πρόσβαση που έχουν και αυτό πρέπει επίσης να γίνει χρησιμοποιώντας το αντικείμενο της τάξης μαθητή.
Μέθοδοι λήψης και ρύθμισης
Για την εφαρμογή ενθυλάκωσης σε Java, κάνουμε τις μεταβλητές μελών δεδομένων της κλάσης ως ιδιωτικές. Τώρα, αυτές οι ιδιωτικές μεταβλητές δεν είναι προσβάσιμες σε τίποτα εκτός της κλάσης, συμπεριλαμβανομένου του αντικειμένου κλάσης.
Αυτό σημαίνει εάν έχουμε μια τάξη ABC ως εξής.
τάξη ABC {
ιδιωτική ηλικία
}
Ας δημιουργήσουμε ένα αντικείμενο της κλάσης ABC ως εξής:
ABC abc = νέο ABC ();
abc.age = 21; // σφάλμα μεταγλωττιστή
Έτσι στον παραπάνω κώδικα, η πρόσβαση στην ιδιωτική μεταβλητή χρησιμοποιώντας το αντικείμενο κλάσης θα οδηγήσει σε σφάλμα μεταγλωττιστή.
Για να αποκτήσετε πρόσβαση στις ιδιωτικές μεταβλητές και να διαβάσετε τις τιμές τους και να ορίσετε μερικές νέες τιμές σε αυτές, χρειαζόμαστε κάποιον τρόπο για να το κάνουμε αυτό. Έτσι, η Java παρέχει έναν τρόπο πρόσβασης σε ιδιωτικές μεταβλητές χρησιμοποιώντας μεθόδους getter και setter.
Το Getter and Setters είναι δημόσιες μέθοδοι που μπορούμε να χρησιμοποιήσουμε για τη δημιουργία, τροποποίηση, διαγραφή ή απλώς προβολή των τιμών των ιδιωτικών μεταβλητών.
Το παρακάτω πρόγραμμα είναι ένα παράδειγμα μεθόδων Getter και Setter.
πώς να χρησιμοποιήσετε το float στην Ιάβα
//Account class - private data members bundled with getters and setters class Account { //private data members private long acc_no; private String name,email; private float amount; //public getter and setter methods for each data member public long getAcc_no() { return acc_no; } public void setAcc_no(long acc_no) { this.acc_no = acc_no; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public float getAmount() { return amount; } public void setAmount(float amount) { this.amount = amount; } } public class Main { public static void main(String() args) { //create instance of Account class Account myAcc=new Account(); //set values for data members through setter methods myAcc.setAcc_no(775492842L); myAcc.setName('SoftwareTestingHelp.com'); myAcc.setEmail('sth_account@sth.com'); myAcc.setAmount(25000f); //read data member values through getter methods System.out.println('Account No:' + myAcc.getAcc_no()+' '+'Account Name:' + myAcc.getName()+'
'+'Account holder email:' + myAcc.getEmail()+'
' + 'Amount in Account:' + myAcc.getAmount()); } }
Παραγωγή:
Το παραπάνω πρόγραμμα έχει έναν λογαριασμό κλάσης και έχει τέσσερις ιδιωτικές μεταβλητές που σχετίζονται με τον λογαριασμό. Καθώς όλα τα μέλη των δεδομένων είναι ιδιωτικά, έχουμε παράσχει τις μεθόδους λήψης και ρύθμισης για καθεμία από αυτές τις μεταβλητές.
Στην κύρια μέθοδο, διαβάζουμε και ορίζουμε τιμές για αυτές τις ιδιωτικές μεταβλητές χρησιμοποιώντας τις δημόσιες μεθόδους λήψης και ρύθμισης που έχουν πρόσβαση μέσω του αντικειμένου του λογαριασμού κλάσης.
Απόκρυψη δεδομένων στην Ιάβα
Συχνά, χρησιμοποιούμε εναλλακτικά δεδομένα ενκαψουλισμού και απόκρυψης. Αλλά και τα δύο δεν είναι τα ίδια. Το Java encapsulation ασχολείται με την ομαδοποίηση σχετικών δεδομένων σε μία ενιαία μονάδα για την εξασφάλιση καλύτερης διαχείρισης και ασφάλειας των δεδομένων.
Απόκρυψη δεδομένων, από την άλλη πλευρά, περιορίζει την πρόσβαση των μελών δεδομένων αποκρύπτοντας τις λεπτομέρειες εφαρμογής. Αν και η ενθυλάκωση δεν είναι ακριβώς απόκρυψη δεδομένων, μας παρέχει τον τρόπο απόκρυψης δεδομένων. Η απόκρυψη δεδομένων επιτυγχάνεται χρησιμοποιώντας τροποποιητές πρόσβασης.
Η Java παρέχει τέσσερις τροποποιητές πρόσβασης.
- δημόσιο: Προσβάσιμο σε όλους.
- ιδιωτικός: Προσβάσιμο μόνο μέσα στην τάξη.
- προστατευμένο: Προσβάσιμο στο πακέτο που περιέχει και στις υποκατηγορίες.
- Προκαθορισμένο: Προσβάσιμο μέσα στο πακέτο.
Η ενθυλάκωση ομαδοποιεί τα δεδομένα σε μία μόνο μονάδα, οπότε κατά κάποιο τρόπο κρύβει τα δεδομένα. Επίσης, καθιστά τα δεδομένα ιδιωτικά και έτσι δεν είναι προσβάσιμα στον εξωτερικό κόσμο. Για να κάνουμε τα δεδομένα ιδιωτικά, χρησιμοποιούμε τον τροποποιητή πρόσβασης ιδιωτικό που είναι μια έννοια απόκρυψης δεδομένων.
Ταυτόχρονα, μόνο οι σχετικές λεπτομέρειες παρέχονται στον τελικό χρήστη χωρίς να αποκαλυφθούν οι λεπτομέρειες εφαρμογής που είναι ορισμός της αφαίρεσης. Έτσι μπορούμε να δούμε την ενθυλάκωση ως συνδυασμό αφαίρεσης καθώς και απόκρυψης δεδομένων.
Γιατί χρειαζόμαστε ενθυλάκωση
Υπάρχουν διάφοροι λόγοι για τους οποίους η ενθυλάκωση είναι απαραίτητη στην Java:
- Η ενθυλάκωση μας επιτρέπει να τροποποιήσουμε τον κωδικό ή ένα μέρος του κώδικα χωρίς να χρειαστεί να αλλάξουμε άλλες λειτουργίες ή κώδικα.
- Το Encapsulation ελέγχει τον τρόπο πρόσβασης στα δεδομένα.
- Μπορούμε να τροποποιήσουμε τον κώδικα με βάση τις απαιτήσεις χρησιμοποιώντας ενθυλάκωση.
- Το Encapsulation κάνει τις εφαρμογές μας πιο απλές.
Συχνές Ερωτήσεις
Q # 1) Γιατί χρησιμοποιείται το Encapsulation στην Java;
Απάντηση: Η ενθυλάκωση σε Java είναι κυρίως χρήσιμη για την απόκρυψη των δεδομένων. Ή με άλλα λόγια, να αποφασίσουμε για την πρόσβαση που δίνεται στα δεδομένα ως προς το ποιος μπορεί να έχει πρόσβαση και ποιος δεν μπορεί.
Q # 2) Τι είναι το Encapsulation στο OOP;
Απάντηση: Το Encapsulation είναι ένας από τους σημαντικούς πυλώνες της γλώσσας προγραμματισμού με αντικειμενικό σκοπό και ασχολείται με τη δέσμευση δεδομένων και μεθόδων που λειτουργούν σε αυτά τα δεδομένα σε μία ενιαία μονάδα. Για παράδειγμα, μια κλάση στην Java είναι μια ενθυλακωμένη δομή. Το Encapsulation ασχολείται επίσης με αποφάσεις σχετικά με την παροχή πρόσβασης σε δεδομένα.
Q # 3) Ποιο είναι το πλεονέκτημα του Encapsulation στην Java;
Απάντηση: Το κύριο πλεονέκτημα της ενθυλάκωσης στην Java είναι η απόκρυψη δεδομένων. Χρησιμοποιώντας ενθυλάκωση μπορούμε να επιτρέψουμε στον προγραμματιστή να αποφασίσει για την πρόσβαση σε δεδομένα και μεθόδους που λειτουργούν σε αυτά τα δεδομένα. Για παράδειγμα, αν θέλουμε ένα συγκεκριμένο κομμάτι δεδομένων να μην είναι προσβάσιμο σε οποιονδήποτε εκτός της τάξης, τότε τα δεδομένα αυτά είναι ιδιωτικά.
Q # 4) Ποια είναι η διαδικασία ενθυλάκωσης;
Απάντηση: Το Encapsulation είναι μια διαδικασία συλλογής δεδομένων από μία μορφή ή πρωτόκολλο (σε όρους δικτύωσης) και μετάφρασης ή μορφοποίησης σε άλλη μορφή ή πρωτόκολλο, έτσι ώστε τα δεδομένα να είναι προσβάσιμα σε όλες τις εφαρμογές ή το δίκτυο και ταυτόχρονα να προστατεύονται.
Q # 5) Ποιο είναι το τελευταίο βήμα στην ενθυλάκωση δεδομένων;
Απάντηση: Το τελευταίο βήμα στην ενθυλάκωση είναι η αλλαγή των πληροφοριών χρήστη σε ισοδύναμα δεδομένα. Στη συνέχεια, αυτά τα δεδομένα μετατρέπονται σε τμήματα που μετατρέπονται περαιτέρω σε πακέτα δεδομένων. Τα πακέτα δεδομένων τοποθετούνται σε ένα λογικό πλαίσιο που μπορεί να μεταφερθεί μέσα και πέρα στο περιβάλλον λογισμικού
συμπέρασμα
Αυτό ολοκληρώνει το σεμινάριό μας για το Encapsulation στην Java. Η ενθυλάκωση είναι μια τεχνική συνδυασμού μεταβλητών μελών και των μεθόδων που λειτουργούν σε αυτά τα μέλη δεδομένων σε μία μονάδα. Μια τάξη στην Java είναι ένα κλασικό παράδειγμα ενθυλάκωσης καθώς τυλίγει τα δεδομένα και τις μεθόδους σε μία μονάδα.
Η Java επιτυγχάνει υλοποίηση ενθυλάκωσης κάνοντας όλα τα μέλη δεδομένων ιδιωτικά και, στη συνέχεια, παρέχοντας δημόσιες και μεθόδους ρύθμισης που είναι δημόσιες ώστε να μπορούμε να διαβάσουμε τις τιμές των ιδιωτικών μεταβλητών και να ορίσουμε νέες τιμές για αυτές τις μεταβλητές.
=> Επισκεφτείτε εδώ για την αποκλειστική σειρά εκπαιδευτικών εκμάθησης Java.
Συνιστώμενη ανάγνωση
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- TreeMap In Java - Tutorial with Java TreeMap Παραδείγματα
- Java Double - Tutorial με παραδείγματα προγραμματισμού
- Java Float Tutorial με παραδείγματα προγραμματισμού
- Java Reverse String: Tutorial με παραδείγματα προγραμματισμού
- Java Enum: Java Enumeration Tutorial με παραδείγματα
- Java Integer και Java BigInteger Class με παραδείγματα
- Το Java String περιέχει () Μέθοδος Εκμάθησης με Παραδείγματα