Ξεκινήστε με μια βάση ( ή «σούπερ » ) τάξη . Το ακόλουθο παράδειγμα χρησιμοποιεί μια κατηγορία που ονομάζεται μικροκυμάτων : 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
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα