Héritage

1. Principe

L’héritage est un moyen s’appuyant sur la définition d’une classe pour en construire une nouvelle. C’est un principe fondamental dans la programmation objet. La classe ainsi obtenue ajoute des possibilités supplémentaires par rapport à sa classe mère (ou parente) et on parle de spécialisation. Autre point, Ruby n’autorise qu’une seule classe mère (héritage simple), mais nous verrons en abordant les modules qu’il existe une solution pour contourner cette limitation. Dans Ruby, c’est l’opérateur < qui va nous servir à préciser cette hiérarchie.

class Employe < Personne
  def role
    puts "#{@nom} a pour profession #{@profession}"
  end
end

e = Employe.new( "jean", "bureaucrate" )
e.bonjour
e.role
e.auRevoir 

Nous avons ajouté une méthode role, comme la classe Personne contenait la définition des méthodes bonjour et auRevoir, ces méthodes sont toujours à disposition. Nous obtenons alors en sortie :

Bonjour jean
jean a pour profession bureaucrate
Adieu 
Une remarque importante, car cela diverge avec certains langages objet, le constructeur est aussi hérité. Il n’est donc pas nécessaire de le réécrire dans une classe dérivée s’il n’y a pas de traitement d’initialisation différent.

2. Surcharge du constructeur

Surcharger un constructeur revient à en écrire...

Pour consulter la suite, découvrez le livre suivant :
couv_Ruby.PNG
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Le constructeur
Suivant
La classe Object