Πίνακας περιεχομένων:
Βίντεο: Awesome iPhone Apps with Objective-C by Zack Chauvin 2025
Ο προγραμματισμός αντικειμένων στο PHP έχει ένα άλλο χαρακτηριστικό που το καθιστά πολύ χρήσιμο για μεγάλα έργα. Πολλά αντικείμενα σχετίζονται μεταξύ τους και μπορείτε να χρησιμοποιήσετε μια σχέση οικογενειακού δέντρου για να απλοποιήσετε τον προγραμματισμό σας.
Πώς να φτιάξετε ένα critter με βάση ένα άλλο critter
Υπάρχει ένα νέο critter στην πόλη. Αυτό έχει τα ίδια βασικά χαρακτηριστικά, αλλά μια χειρότερη στάση. Ρίξτε μια ματιά στον κώδικα για να δείτε τι συμβαίνει:
κληρονομούν. php name glowers σε σας χωρίς να λέτε τίποτα. "; // // end glower // αν υπερ-γράψετε μια υπάρχουσα μέθοδο, η συμπεριφορά αλλάζει δημόσια λειτουργία συζήτηση () {επιστρέφει" Κανένας της επιχείρησής σας! "} // // end talk } // end class def $ a => new bittercritter (), print $ a-> glower (). "", print $ a-> talk (). το παράδειγμα είναι μια απεικόνιση μιας πολύ κοινής κατάστασης προγραμματισμού, όπου θέλετε μια εξειδίκευση μιας προηγουμένως καθορισμένης κλάσης.Έχει ήδη μια τάξη Critter, αλλά θέλετε ένα νέο είδος Critter.Το νέο critter (το BitterCritter) αρχίζει με το ίδιο γενικά χαρακτηριστικά του συνηθισμένου critter, αλλά φέρνει μια νέα συστροφή.Η αντικειμενοστρεφής ιδέα
κληρονομία
είναι ένας τέλειος τρόπος για να χειριστεί αυτή την κατάσταση.
και όχι η κληρονομιά. Οι άνθρωποι έχουν μακριές και βαρετές συνομιλίες για την ποια τεχνική είναι καλύτερη, αλλά τελικά δεν έχει σημασία ch. Οι περισσότερες γλώσσες OOP υποστηρίζουν τη μορφή κληρονομιάς που χρησιμοποιείται στην PHP, οπότε θα πρέπει να γνωρίζετε πραγματικά πώς λειτουργεί. Πώς να κληρονομήσει τον άνεμο (και οτιδήποτε άλλο)
Ακολουθεί ο τρόπος υλοποίησης της κληρονομιάς:
Ξεκινήστε με μια υπάρχουσα κλάση.Για αυτό το παράδειγμα, ξεκινάτε με τη συνηθισμένη κλάση Critter, την οποία εισάγετε με τη συνάρτηση requ_once ().
-
Δημιουργήστε τη νέα σας τάξη με την επέκταση της λέξης-κλειδιού.
Καθώς καθορίζετε την κλάση, αν χρησιμοποιείτε την επεκτατική λέξη-κλειδί για να υποδείξετε ποια κλάση κληρονομούμε, η νέα σας τάξη θα ξεκινήσει με όλες τις ιδιότητες και τις μεθόδους της γονικής κλάσης.
-
Μπορείτε να αποκτήσετε πρόσβαση σε δημόσια και προστατευμένα στοιχεία του γονέα, αλλά όχι ιδιωτικά.
Αν μια ιδιότητα ή μέθοδος ορίστηκε ως ιδιωτική στην αρχική κλάση, δεν είναι πραγματικά επιχείρηση άλλου άλλου. Κανένα άλλο θραύσμα κώδικα δεν μπορεί να έχει πρόσβαση σε αυτό το στοιχείο. Γενικά όμως, όταν κληρονομούμε από μια τάξη, η νέα τάξη παιδιού πρέπει να έχει πρόσβαση στα στοιχεία της μητρικής τάξης. Γι 'αυτό θα πρέπει να δημιουργήσετε ιδιότητες ως
-
προστατευμένες
αντί για ιδιωτικές. Προσθέστε νέες ιδιότητες και μεθόδους. Μπορείτε να επεκτείνετε τη νέα τάξη σας με πρόσθετες ιδιότητες και μεθόδους που δεν είχε ο γονέας. Το BitterCritter διαθέτει τώρα μια μέθοδο glower () που δεν έχουν κανονικά critters.
-
Μπορείτε επίσης να αντικαταστήσετε τη γονική συμπεριφορά.
Αν επαναπροσδιορίσετε μια μέθοδο που είχε η κλάση γονέων, αλλάζετε τη συμπεριφορά της νέας κλάσης. Αυτό σας επιτρέπει να τροποποιήσετε τις υπάρχουσες συμπεριφορές (μια μορφή αντικειμενοστρεφής ιδέα που ονομάζεται
-
πολυμορφισμός). Αυτή η επίδειξη είναι μόνο η πιο γρήγορη αναλαμπή στον αντικειμενοστραφή προγραμματισμό. Υπάρχει πολύ περισσότερο σε αυτή τη μορφή ανάπτυξης λογισμικού, αλλά τα βασικά είναι όλα εδώ. Αν και ίσως να μην δείτε αμέσως την ανάγκη να δημιουργήσετε τα αντικείμενά σας από την αρχή, θα συναντήσετε σίγουρα αντικειμενοστραφή κώδικα PHP καθώς θα αρχίσετε να εξερευνάτε πιο πολύπλοκες ιδέες όπως το προγραμματισμό δεδομένων και τα συστήματα διαχείρισης περιεχομένου.