L'héritage est au cœur de la programmation orientée objet. Construire des structures de classes rend les programmes plus petits programmes faciles, et grand possible. En Ruby , l'héritage est utilisé pour créer une relation entre les classes qui peuvent être utilisés dans votre code. Quand une classe est un type d'une classe différente , vous pouvez utiliser l'héritage pour faire des « classes enfants " . Par exemple, vous pourriez avoir une classe Shape . Faire classes de la classe Shape de l'enfant , comme un cercle ou une classe Square, désigne une méthode qui prend un argument de forme pourrait également prendre un cercle comme un type de forme. Instructions site Utilisez héritage dans Ruby
1
Démarrer avec une base ( ou "super" ) classe. L'exemple suivant utilise une classe nommée Micro-ondes: classe Microwavedef put_food_in (nourriture) @ nourriture = foodenddef take_food_outfood = @ @ nourriture nourriture = nilreturn foodenddef turn_onputs " micro-ondes est le " end def turn_off met " micro est éteint " endend
2
écrire une déclaration de la classe héritée . C'est la même chose comme une déclaration de classe normale , mais ajoute la «classe TimedMicrowave fin
3
ajouter de nouvelles méthodes à la classe. L' classe aura toutes les méthodes de la superclasse , comme . bien des méthodes supplémentaires que vous ajoutez vous pouvez également ajouter de nouvelles variables membres et attr_ * accesseurs : classe TimedMicrowave attr_reader : timerdef set_timer ( secondes) @ timer = secondsend def clear_timer @ timer = 0endend
4 des méthodes de substitution de
dans la superclasse avec de nouvelles méthodes. comme dans l'exemple précédent une minuterie a été ajouté au micro-ondes, une méthode de turn_on qui fera tourner automatiquement le micro-ondes au large peut maintenant être mis en œuvre. suffit de définir une méthode portant le même nom que la méthode dans la superclasse . quand on l'appelle, la méthode de la classe de l'enfant remplace la méthode de la superclasse ici, tout code qui s'attend à voir un objet à micro-ondes peut utiliser un objet TimedMicrowave : . classe TimedMicrowave attr_reader : timerdef set_timer ( secondes) @ timer = secondsenddef clear_timer @ timer = 0enddef turn_onwhile @ rebours> 0puts micro " est activé. # { @ } timer seconde (s ) restant " @ minuterie - . = 1sleep 1end # Nous cuisson terminé, tournez le micro-ondes offturn_offendend