OOPs στο Python
Το OOPs στο Python είναι μια προσέγγιση προγραμματισμού που εστιάζει στη χρήση αντικειμένων και τάξεων όπως και άλλων γενικών γλωσσών προγραμματισμού. Τα αντικείμενα μπορούν να είναι οποιεσδήποτε πραγματικές οντότητες. Η Python επιτρέπει στους προγραμματιστές να αναπτύξουν εφαρμογές χρησιμοποιώντας την προσέγγιση OOPs με έμφαση στην επαναχρησιμοποίηση κώδικα. Είναι πολύ εύκολο να δημιουργήσετε μαθήματα και αντικείμενα στο Python.
Τι είναι μια τάξη;
Μια κλάση στο Python είναι μια λογική ομαδοποίηση δεδομένων και συναρτήσεων. Δίνει την ελευθερία να δημιουργούν δομές δεδομένων που περιέχουν αυθαίρετο περιεχόμενο και επομένως εύκολα προσβάσιμες.
Για παράδειγμα, για οποιονδήποτε υπάλληλο τράπεζας που θέλει να ανακτήσει τα στοιχεία του πελάτη στο διαδίκτυο, θα μεταβεί στην κατηγορία πελατών , όπου θα περιλαμβάνονται όλα τα χαρακτηριστικά της όπως τα στοιχεία συναλλαγής, τα στοιχεία ανάληψης και κατάθεσης, το οφειλόμενο χρέος κ.λπ.
Σε αυτό το σεμινάριο, θα μάθουμε,
- Πώς να ορίσετε τάξεις Python
- Πώς λειτουργεί η κληρονομικότητα
- Κατασκευαστές Python
Πώς να ορίσετε τάξεις Python
Για να ορίσετε τάξη πρέπει να λάβετε υπόψη τα ακόλουθα σημεία
Βήμα 1) Στο Python, οι τάξεις ορίζονται από τη λέξη-κλειδί "Class"
class myClass():
Βήμα 2) Μέσα σε τάξεις, μπορείτε να ορίσετε συναρτήσεις ή μεθόδους που αποτελούν μέρος αυτής της τάξης
def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
- Εδώ έχουμε ορίσει τη μέθοδο1 που τυπώνει το "Guru99".
- Μια άλλη μέθοδος που έχουμε ορίσει είναι η μέθοδος 2 που εκτυπώνει "Δοκιμή λογισμικού" + SomeString. Το SomeString είναι η μεταβλητή που παρέχεται από τη μέθοδο κλήσης
Βήμα 3) Τα πάντα σε μια τάξη είναι εσοχή, όπως και ο κωδικός στη συνάρτηση, βρόχος, εάν δήλωση κ.λπ. Οτιδήποτε δεν εσοχή δεν βρίσκεται στην τάξη
ΣΗΜΕΙΩΣΗ : Σχετικά με τη χρήση του "εαυτού" στο Python
- Το αυτο-επιχείρημα αναφέρεται στο ίδιο το αντικείμενο. Εξ ου και η χρήση της λέξης εαυτού. Έτσι μέσα σε αυτήν τη μέθοδο, ο εαυτός θα αναφέρεται στη συγκεκριμένη παρουσία αυτού του αντικειμένου στο οποίο λειτουργεί.
- Ο εαυτός είναι το όνομα που προτιμάται κατά σύμβαση από τους Pythons για να υποδείξει την πρώτη παράμετρο των μεθόδων παρουσίας στο Python. Είναι μέρος της σύνταξης Python για πρόσβαση σε μέλη αντικειμένων
Βήμα 4) Για να δημιουργήσετε ένα αντικείμενο της τάξης
c = myClass()
Βήμα 5) Για να καλέσετε μια μέθοδο σε μια τάξη
c.method1()c.method2(" Testing is fun")
- Παρατηρήστε ότι όταν καλούμε τη μέθοδο 1 ή τη μέθοδο 2, δεν χρειάζεται να παρέχουμε τη λέξη-κλειδί Αυτό αντιμετωπίζεται αυτόματα για εμάς από τον χρόνο εκτέλεσης της Python.
- Ο χρόνος εκτέλεσης του Python θα μεταβιβάσει την τιμή "εαυτός" όταν καλείτε μια μέθοδο παρουσίας στην περίπτωση, είτε την παρέχετε σκόπιμα είτε όχι
- Απλά πρέπει να νοιάζεσαι για τα μη αυτο-επιχειρήματα
Βήμα 6) Εδώ είναι ο πλήρης κωδικός
# Παράδειγμα αρχείου για εργασία με τάξειςτάξη myClass ():μέθοδος def1 (αυτο):εκτύπωση ("Guru99")μέθοδος def2 (self, someString):εκτύπωση ("Δοκιμή λογισμικού: + someString)def main ():# ασκήστε τις μεθόδους της τάξηςc = myClass ()c. μέθοδος 1 ()c.method2 ("Η δοκιμή είναι διασκεδαστική")αν __name __ == "__main__":κύριος()
Πώς λειτουργεί η κληρονομικότητα
Η κληρονομικότητα είναι ένα χαρακτηριστικό που χρησιμοποιείται σε αντικειμενοστρεφή προγραμματισμό. αναφέρεται στον ορισμό μιας νέας τάξης με λιγότερη ή καθόλου τροποποίηση σε μια υπάρχουσα τάξη. Η νέα τάξη ονομάζεται παράγωγη κλάση και από αυτή που κληρονομείται ονομάζεται βάση . Η Python υποστηρίζει την κληρονομιά. υποστηρίζει επίσης πολλαπλές κληρονομίες . Μια τάξη μπορεί να κληρονομήσει χαρακτηριστικά και μεθόδους συμπεριφοράς από μια άλλη τάξη που ονομάζεται κλάση υποκατηγορίας ή κληρονόμου.
Σύνταξη Python Inheritance
class DerivedClass(BaseClass):body_of_derived_class
Βήμα 1) Εκτελέστε τον ακόλουθο κώδικα
# Παράδειγμα αρχείου για εργασία με τάξειςτάξη myClass ():μέθοδος def1 (αυτο):εκτύπωση ("Guru99")τάξη childClass (myClass):#def μέθοδος 1 (αυτο):# myClass.method1 (αυτο);#print ("childClass Method1")μέθοδος def2 (αυτο):εκτύπωση ("childClass method2")def main ():# ασκήστε τις μεθόδους της τάξηςc2 = παιδική τάξη ()c2. μέθοδος 1 ()# c2. μέθοδος 2 ()αν __name __ == "__main__":κύριος()
Παρατηρήστε ότι η στο childClass, η μέθοδος 1 δεν ορίζεται αλλά προέρχεται από το γονικό myClass. Η έξοδος είναι "Guru99".
Βήμα 2) Γραμμή αποτυχίας # 8 & 10. Εκτελέστε τον κώδικα
Τώρα, η μέθοδος 1 ορίζεται στο childClass και η έξοδος "childClass Method1" εμφανίζεται σωστά.
Βήμα 3) Γραμμή αποτυχίας # 9. Εκτελέστε τον κωδικό
Μπορείτε να καλέσετε μια μέθοδο της γονικής τάξης χρησιμοποιώντας τη σύνταξη
ParentClassName.MethodName(self)
Στην περίπτωσή μας, καλούμε, το myClass.method1 (self) και το Guru99 εκτυπώνονται όπως αναμενόταν
Βήμα 4 ) Γραμμή αποτυχίας # 19. Εκτελέστε τον κωδικό.
Η μέθοδος 2 της θυγατρικής τάξης καλείται και η "μέθοδος παιδικής κλάσης 2" εκτυπώνεται όπως αναμένεται.
Κατασκευαστές Python
Ένας κατασκευαστής είναι μια συνάρτηση κλάσης που δημιουργεί ένα αντικείμενο σε προκαθορισμένες τιμές.
Ξεκινά με μια διπλή υπογράμμιση (_). Η μέθοδος __init __ ()
Στο παρακάτω παράδειγμα παίρνουμε το όνομα του χρήστη χρησιμοποιώντας τον κατασκευαστή.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
Η παραγωγή θα είναι:
Καλώς ήλθατε στο Guru99, Alex
Παράδειγμα Python 2
Οι παραπάνω κωδικοί είναι παραδείγματα Python 3, Αν θέλετε να εκτελέσετε το Python 2, σκεφτείτε το ενδεχόμενο να ακολουθήσετε τον κωδικό.
# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass myClass():def method1(self):print "Guru99"class childClass(myClass):#def method1(self):#myClass.method1(self);#print "childClass Method1"def method2(self):print "childClass method2"def main():# exercise the class methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()
Περίληψη:
Το "Class" είναι μια λογική ομαδοποίηση συναρτήσεων και δεδομένων. Η κλάση Python παρέχει όλες τις τυπικές δυνατότητες του Object Oriented Programming.
- Μηχανισμός κληρονομικής τάξης
- Μια παράγωγη κλάση που παρακάμπτει οποιαδήποτε μέθοδο της βασικής κλάσης
- Μια μέθοδος μπορεί να καλέσει τη μέθοδο μιας βασικής κλάσης με το ίδιο όνομα
- Τα μαθήματα Python ορίζεται με λέξη-κλειδί «τάξη» η ίδια
- Μέσα σε τάξεις, μπορείτε να ορίσετε συναρτήσεις ή μεθόδους που αποτελούν μέρος της τάξης
- Όλα σε μια τάξη έχουν εσοχή, όπως και ο κώδικας στη συνάρτηση, βρόχος, εάν δήλωση κ.λπ.
- Το ίδιο επιχείρημα στο Python αναφέρεται στο ίδιο το αντικείμενο. Ο εαυτός είναι το όνομα που προτιμάται κατά σύμβαση από τους Pythons για να υποδείξει την πρώτη παράμετρο των μεθόδων παρουσίας στο Python
- Ο χρόνος εκτέλεσης του Python θα μεταβιβάσει αυτόματα την τιμή "εαυτός" όταν καλείτε μια μέθοδο παρουσίας στην περίπτωση, είτε την παρέχετε σκόπιμα είτε όχι
- Στο Python, μια τάξη μπορεί να κληρονομήσει χαρακτηριστικά και μεθόδους συμπεριφοράς από μια άλλη τάξη που ονομάζεται κλάση υποκατηγορίας ή κληρονόμου.