Python OOPs: Class, Object, Inheritance και Constructor με Παράδειγμα
OOPs μέσα Python
OOPs μέσα Python είναι μια προγραμματιστική προσέγγιση που εστιάζει στη χρήση αντικειμένων και κλάσεων όπως και άλλες γενικές γλώσσες προγραμματισμού. Τα αντικείμενα μπορεί να είναι οποιεσδήποτε πραγματικές οντότητες. Python επιτρέπει στους προγραμματιστές να αναπτύσσουν εφαρμογές χρησιμοποιώντας την προσέγγιση OOPs με κύρια εστίαση στην επαναχρησιμοποίηση κώδικα. Είναι πολύ εύκολο να δημιουργήσετε κλάσεις και αντικείμενα Python.
Τι είναι μια Τάξη;
Μια τάξη σε Python είναι μια λογική ομαδοποίηση δεδομένων και συναρτήσεων. Δίνει την ελευθερία δημιουργίας δομών δεδομένων που περιέχουν αυθαίρετο περιεχόμενο και ως εκ τούτου είναι εύκολα προσβάσιμο.
Για παράδειγμα, για οποιονδήποτε τραπεζικό υπάλληλο που θέλει να ανακτήσει τα στοιχεία του πελάτη ηλεκτρονικά, θα πήγαινε στο κατηγορία πελατών, όπου θα αναφέρονται όλα τα χαρακτηριστικά του, όπως λεπτομέρειες συναλλαγής, λεπτομέρειες ανάληψης και κατάθεσης, ανεξόφλητο χρέος κ.λπ.
Πώς να ορίσετε Python τάξεις
Για να ορίσετε την κλάση πρέπει να λάβετε υπόψη τα ακόλουθα σημεία
Βήμα 1) In Python, οι κλάσεις ορίζονται από το "Τάξη" λέξη-κλειδί
class myClass():
Βήμα 2) Μέσα σε κλάσεις, μπορείτε να ορίσετε συναρτήσεις ή μεθόδους που αποτελούν μέρος αυτής της κλάσης
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Εδώ έχουμε ορίσει τη μέθοδο1 που εκτυπώνει το "Guru99".
- Μια άλλη μέθοδος που έχουμε ορίσει είναι η μέθοδος2 που εκτυπώνει το "Software Testing"+ SomeString. SomeString είναι η μεταβλητή που παρέχεται από τη μέθοδο κλήσης
Βήμα 3) Τα πάντα σε μια κλάση έχουν εσοχή, όπως και ο κώδικας στη συνάρτηση, βρόχο, εντολή if κ.λπ. Οτιδήποτε δεν έχει εσοχή δεν βρίσκεται στην κλάση
ΣΗΜΕΊΩΣΗ: Σχετικά με τη χρήση του "self" στο Python
- Το αυτοεπιχείρημα αναφέρεται στο ίδιο το αντικείμενο. Εξ ου και η χρήση της λέξης εαυτός. Έτσι, μέσα σε αυτήν τη μέθοδο, ο εαυτός θα αναφέρεται στη συγκεκριμένη περίπτωση αυτού του αντικειμένου που χειρουργείται.
- Self είναι το όνομα που προτιμάται από τη σύμβαση Pythons για να υποδείξετε την πρώτη παράμετρο των μεθόδων παρουσίας στο Python. Είναι μέρος του Python σύνταξη για πρόσβαση σε μέλη αντικειμένων
Βήμα 4) Για να φτιάξετε ένα αντικείμενο της τάξης
c = myClass()
Βήμα 5) Για να καλέσετε μια μέθοδο σε μια τάξη
c.method1()
c.method2(" Testing is fun")
- Σημειώστε ότι όταν καλούμε τη μέθοδο1 ή τη μέθοδο2, δεν χρειάζεται να παρέχουμε τη λέξη-κλειδί αυτο-κλειδί. Αυτό γίνεται αυτόματα για εμάς από το Python χρόνο εκτέλεσης.
- Python Ο χρόνος εκτέλεσης θα περάσει την τιμή "self" όταν καλείτε μια μέθοδο παρουσίας, είτε την παρέχετε εσκεμμένα είτε όχι
- Απλώς πρέπει να νοιάζεσαι για τα επιχειρήματα που δεν αφορούν τον εαυτό σου
Βήμα 6) Εδώ είναι ο πλήρης κώδικας
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
Πώς λειτουργεί το Inheritance
Η κληρονομικότητα είναι ένα χαρακτηριστικό που χρησιμοποιείται στον αντικειμενοστραφή προγραμματισμό. αναφέρεται στον ορισμό μιας νέας κλάσης με λιγότερη ή καμία τροποποίηση σε μια υπάρχουσα κλάση. Η νέα τάξη ονομάζεται παράγωγη τάξη και από ένα που κληρονομεί ονομάζεται το βάση. Python υποστηρίζει την κληρονομικότητα. υποστηρίζει επίσης πολλαπλές κληρονομιές. Μια κλάση μπορεί να κληρονομήσει ιδιότητες και μεθόδους συμπεριφοράς από μια άλλη κλάση που ονομάζεται υποκλάση ή κλάση κληρονόμου.
Python Σύνταξη κληρονομικότητας
class DerivedClass(BaseClass):
body_of_derived_class
Βήμα 1) Εκτελέστε τον παρακάτω κώδικα
# Example file for working with classes
class 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 methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Σημειώστε ότι η μέθοδος1 στη childClass δεν ορίζεται αλλά προέρχεται από τη γονική myClass. Η έξοδος είναι "Guru99".
Βήμα 2) Αφαίρεση σχολίου Γραμμή # 8 & 10. Εκτελέστε τον κωδικό
Τώρα, η μέθοδος 1 ορίζεται στο childClass και η έξοδος "childClass Method1" εμφανίζεται σωστά.
Βήμα 3) Απαλοιφή σχολίων Γραμμή #9. Εκτελέστε τον κωδικό
Μπορείτε να καλέσετε μια μέθοδο της γονικής κλάσης χρησιμοποιώντας τη σύνταξη
ParentClassName.MethodName(self)
Στην περίπτωσή μας, καλούμε, το myClass.method1(self) και το Guru99 εκτυπώνεται όπως αναμένεται
Βήμα 4) Γραμμή χωρίς σχόλια #19. Εκτελέστε τον κωδικό.
Η μέθοδος 2 της θυγατρικής κλάσης καλείται και η "μέθοδος childClass2" εκτυπώνεται όπως αναμένεται.
Python Κατασκευαστές
Ένας κατασκευαστής είναι μια συνάρτηση κλάσης που δημιουργεί ένα αντικείμενο σε προκαθορισμένες τιμές.
Ξεκινά με διπλή υπογράμμιση (_). Είναι η μέθοδος __init__().
Στο παρακάτω παράδειγμα παίρνουμε το όνομα του χρήστη που χρησιμοποιεί τον κατασκευαστή.
class User:
name = ""
def __init__(self, name):
self.name = name
def 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 classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class 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 methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Μάθετε το επόμενο σεμινάριο μας σχετικά με Πολυμορφισμός σε Python
Περίληψη
Το "Class" είναι μια λογική ομαδοποίηση συναρτήσεων και δεδομένων. Python class παρέχει όλες τις τυπικές δυνατότητες του Αντικειμενοστρεφούς Προγραμματισμού.
- Μηχανισμός κληρονομικότητας τάξης
- Μια παραγόμενη κλάση που παρακάμπτει οποιαδήποτε μέθοδο της βασικής της κλάσης
- Μια μέθοδος μπορεί να καλέσει τη μέθοδο μιας βασικής κλάσης με το ίδιο όνομα
- Python Οι τάξεις ορίζονται με λέξη-κλειδί "τάξη" εαυτό
- Μέσα σε κλάσεις, μπορείτε να ορίσετε συναρτήσεις ή μεθόδους που αποτελούν μέρος της κλάσης
- Τα πάντα σε μια κλάση έχουν εσοχές, όπως και ο κώδικας στη συνάρτηση, βρόχο, εντολή if κ.λπ.
- Το επιχείρημα του εαυτού μέσα Python αναφέρεται στο ίδιο το αντικείμενο. Self είναι το όνομα που προτιμάται από τη σύμβαση Pythons για να υποδείξετε την πρώτη παράμετρο των μεθόδων παρουσίας στο Python
-
Python Ο χρόνος εκτέλεσης θα μεταβιβάσει αυτόματα την τιμή "self" όταν καλείτε μια μέθοδο παρουσίας, είτε την παρέχετε εσκεμμένα είτε όχι
- In Python, μια κλάση μπορεί να κληρονομήσει χαρακτηριστικά και μεθόδους συμπεριφοράς από μια άλλη κλάση που ονομάζεται υποκλάση ή κλάση κληρονόμου.


