Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> ρουμπίνι Προγραμματισμός

Πώς να χρησιμοποιήσετε Κληρονομικότητα σε Ruby

Κληρονομικότητα είναι ο πυρήνας του αντικειμενοστρεφούς προγραμματισμού . Κτιριακών κατασκευών τάξη κάνει μικρότερα προγράμματα εύκολη , και πιθανά μεγάλα προγράμματα . Στη Ruby , κληρονομιά χρησιμοποιείται για να δημιουργήσει μια σχέση μεταξύ των κλάσεων που μπορούν να χρησιμοποιηθούν στον κώδικά σας . Όταν μία κλάση είναι ένας τύπος μια διαφορετική κατηγορία , μπορείτε να χρησιμοποιήσετε τη μεταβίβαση να κάνει « μαθήματα των παιδιών » . Για παράδειγμα , μπορεί να έχετε μια τάξη σχήμα . Κάνοντας παιδιού τάξεις της κατηγορίας σχήμα, σαν ένα κύκλο ή ένα τετράγωνο τάξη , σημαίνει μια μέθοδος που παίρνει ένα επιχείρημα σχήμα θα μπορούσε επίσης να λάβει ένα κύκλο ως ένα είδος του σχήματος . Οδηγίες
Χρησιμοποιήστε Κληρονομικότητα σε Ruby
Η 1

Ξεκινήστε με μια βάση ( ή «σούπερ » ) τάξη . Το ακόλουθο παράδειγμα χρησιμοποιεί μια κατηγορία που ονομάζεται μικροκυμάτων : class Microwavedef put_food_in ( τρόφιμα ) @ τρόφιμα = foodenddef take_food_outfood = @ @ τροφίμων τροφίμων = nilreturn foodenddef turn_onputs " μικροκυμάτων είναι στο" τέλος def βάζει turn_off " μικροκυμάτων είναι off" endend
Η 2

Γράψτε μια κληρονομική κατάσταση τάξης . Αυτό είναι το ίδιο με ένα κανονικό δήλωση τάξη , αλλά προσθέτει το «τέλος τάξη TimedMicrowave
εικόνων 3

Προσθήκη νέων μεθόδων στην τάξη . Η τάξη θα έχει όλες τις μεθόδους της υπερκλάσης , όπως . και τυχόν πρόσθετες μέθοδοι που μπορείτε να προσθέσετε μπορείτε να προσθέσετε επίσης νέες μεταβλητές μέλους και attr_ * accessors : κατηγορία TimedMicrowave attr_reader : timerdef set_timer ( δευτερόλεπτα ) @ χρονόμετρο = secondsend def clear_timer @ χρονόμετρο = 0endend
Η 4

Παράκαμψη μεθόδους στην υπερκλάση με νέες μεθόδους . Δεδομένου ότι στο προηγούμενο παράδειγμα ένα χρονόμετρο προστέθηκε στο φούρνο μικροκυμάτων , μια μέθοδο turn_on που θα μετατρέψει αυτόματα το φούρνο μικροκυμάτων μακριά μπορεί πλέον να υλοποιηθεί . Απλά ορίστε μια μέθοδο με το ίδιο όνομα με τη μέθοδο της υπερκλάσης . όταν λέγεται , η μέθοδος στην κλάση-παιδί θα αντικαταστήσει τη μέθοδο της υπερκλάσης Εδώ , κάθε κώδικα που αναμένει να δει ένα αντικείμενο μικροκυμάτων μπορεί να χρησιμοποιήσει ένα αντικείμενο TimedMicrowave : . τάξη TimedMicrowave attr_reader : timerdef set_timer ( δευτερόλεπτα ) @ χρονόμετρο = secondsenddef clear_timer @ χρονόμετρο = 0enddef turn_onwhile @ χρονομέτρου> 0puts " μικροκυμάτων είναι σε λειτουργία. # { @ } χρονόμετρο δευτερόλεπτο (α ) που παραμένουν " @ χρονοδιακόπτη - . = 1sleep 1end # Τελειώσαμε μαγειρέματος, γυρίστε το φούρνο μικροκυμάτων offturn_offendend
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα