Inizia con una base ( o "super" ) di classe . L'esempio seguente utilizza una classe denominata Microonde : classe Microwavedef put_food_in (cibo) @ cibo = foodenddef take_food_outfood = @ cibo @ cibo = nilreturn foodenddef turn_onputs " Microwave è su" end def turn_off mette " a microonde è spento " endend
2
Scrivi una dichiarazione classe ereditata . Questo è lo stesso di una dichiarazione di classe normale , ma aggiunge la "classe TimedMicrowave fine
3
aggiungere nuovi metodi alla classe . La classe avrà tutti i metodi della superclasse , come . ben eventuali ulteriori metodi che aggiungi è inoltre possibile aggiungere nuove variabili membro e attr_ * funzioni di accesso : classe TimedMicrowave attr_reader : timerdef set_timer ( secondi) @ timer = secondsend def clear_timer @ timer = 0endend
4 metodi di override
nella superclasse con nuovi metodi . Dal momento che nel precedente esempio un timer è stato inserito il forno a microonde , un metodo turn_on che spegne automaticamente il forno spento può ora essere attuato. definire semplicemente un metodo con lo stesso nome del metodo nella superclasse . quando si chiama il metodo nella classe bambino avrà la precedenza il metodo della superclasse Qui , qualsiasi codice che si aspetta di vedere un oggetto a microonde in grado di utilizzare un oggetto TimedMicrowave : . classe TimedMicrowave attr_reader : timerdef set_timer ( secondi) @ timer = secondsenddef clear_timer @ timer = 0enddef turn_onwhile @ timer > 0puts Microonde " è acceso. # { @ } timer secondo ( s ) rimanendo " @ timer - . = 1sleep 1end # Abbiamo finito la cottura , spegnere il forno a microonde offturn_offendend
Programmazione © www.354353.com