Επειδή Python είναι μια αντικειμενοστραφής γλώσσα , Python προγραμματιστές μπορούν να δημιουργήσουν ειδικά τα είδη των τύπων δεδομένων , με τη δημιουργία « τάξεις ». Τα μαθήματα είναι σχεδιαγράμματα που καθορίζουν την εσωτερική δομή και τη συμπεριφορά ενός αντικειμένου . Μετά τη σύνταξη ενός τάξη , ένας προγραμματιστής μπορεί να « υπόσταση » ( ή να δημιουργήσετε ένα στιγμιότυπο του ) ενός αντικειμένου . Το ακόλουθο παράδειγμα δείχνει μια βασική τάξη και ένα στιγμιότυπο ενός αντικειμένου της κλάσης
>>> τάξη Basic : . Όνομα //κλάση
. . . def __ init__ ( self ) : //αρχικοποίηση λειτουργία που ονομάζεται έμμεσα όταν το αντικείμενο αρχικοποιείται
. . . self.x = 4 //τοπικό μέλος δεδομένων
. . . def write ( ) : //μέθοδος μέλους
. . . print " Hello"
>>> f = Basic ( ) //f αντιπροσωπεύει πλέον μια "Basic" αντικείμενο
εικόνων Προστασία των δεδομένων
Η
Κάθε αντικείμενο που δημιουργήθηκε από την κατηγορία " Basic" θα περιέχει ένα στοιχείο δεδομένων "x " που θα περιέχει τον ακέραιο 4 . Ένας προγραμματιστής που εργάζονται με μια βασική αντικείμενο μπορεί να προσπελάσει τα δεδομένα x με το " . " φορέα , όπως σε αυτό το παράδειγμα :
>>> fx
4
Ωστόσο, ο χρήστης μπορεί να αλλάξει αυτήν την τιμή , ανά πάσα στιγμή , ακριβώς όπως και με κάθε άλλο μεταβλητή . Αυτό δεν μπορεί να γίνεται σε όλες τις περιπτώσεις ? Μια κατηγορία μπορεί να περιέχει σημαντικά στοιχεία ότι οι χρήστες δεν θα πρέπει να αλλάξει . Σε αυτή την περίπτωση , τα μέλη δεδομένων στην Python έχει μια σύμβαση ονοματοδοσίας του βάζοντας δύο χαρακτήρες υπογράμμισης πριν από το όνομα μέλους , προκειμένου να αποφευχθεί ένα χρήστη από την αλλαγή αυτή :
>>> τάξη Basic :
. . . def __ init__ ( αυτο)
. . . self.__x = 4 //ιδιωτικού μέλος δεδομένων
Η τελείωση και Σέττερ
Η
Αυτή η απόκρυψη των στοιχείων από την πρόσβαση μερικές φορές περιγράφεται ως « ενθυλάκωση ». Τα δεδομένα αποκρύπτονται από την πρόσβαση των χρηστών μπορεί να απαιτούν περιστασιακή χειραγώγηση , όπως στις περιπτώσεις όπου ο χρήστης μπορεί να αλλάξει τις πληροφορίες τάξη , αλλά μόνο στο πλαίσιο συγκεκριμένων παραμέτρων . Στην περίπτωση αυτή , ο προγραμματιστής περιλαμβάνει « κτήτορες » και « ρυθμιστές », η οποία επιστρέφει την τιμή και ορίστε την τιμή , αντίστοιχα . Τελείωση απλά να επιστρέψει μια τιμή και setters να αλλάξετε την τιμή , διατηρώντας παράλληλα την ακεραιότητα των δεδομένων . Το παρακάτω παράδειγμα δείχνει το δείγμα να πάρει και να λειτουργεί σε μια τάξη Python : >>>
τάξη Basic :
. . . def __ init__ ( ΣΕΦ ) :
. . . self.__x = 4
. . . def getX ( αυτο) :
. . . self.__x επιστρέψει
. . . def SETX ( self , newx ) :
. . . αν newx > = 0 :
. . . αυτο . __x = newx
εικόνων Το « ακίνητο ( ) " Μέθοδος
Η
Ορισμένοι χρήστες θεωρούν δύσχρηστη για τους χρήστες για να έχετε πρόσβαση στο « f.getx ( ) " μέθοδο για κάθε παράδειγμα τα δεδομένα που απαιτούνται . Η " f.x " σύνταξη είναι συνήθως πιο βολικό . Η μέθοδος "περιουσία" κάνει ακριβώς αυτό : επιτρέπει στον προγραμματιστή να καθορίσει τις πάρει και να ορίσετε μεθόδους ( μαζί με άλλους ) και να τις δεσμεύσει με απλή σύνταξη . Λαμβάνοντας τη βασική κατηγορία ως παράδειγμα , η μέθοδος " ιδιοκτησία" θα απλοποιήσει την πρόσβαση των χρηστών σε Βασικά στοιχεία :
. . . def getX ( αυτο) :
. . . self.__x επιστρέψει
. . . def SETX ( self , newx ) :
. . . αν newx > = 0 :
. . . self.__x = newx
. . . ιδιοκτησίας ( παίρνει , SETX ) //τώρα οι χρήστες μπορούν να πάρουν την __ τιμή x με fx , και να το θέσει με fx = i
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα