Héritage en Ruby

Qu'est-ce que l'héritage en Ruby ?

En Ruby, l'héritage est un mécanisme qui permet à une classe d'acquérir les propriétés et les comportements d'une autre classe. On l'utilise pour établir des relations entre classes, facilitant ainsi la réutilisation du code et l'organisation des classes dans une hiérarchie. Dans cet article, nous allons explorer la syntaxe de l'héritage, l'overriding des méthodes et l'impact de ces concepts sur le développement, notamment pour des projets comme des sites web ou des startups.

Syntaxe de l'héritage

L'héritage est symbolisé par le signe <. Par exemple, si nous avons une classe parent Animal et une classe enfant Dog, nous pouvons établir une relation d'héritage comme suit :

class Animal  
  def initialize(species)    
    @species = species  
  end

  def species    
    @species  
  end
end

class Dog < Animal  
  def initialize(species, name)    
    super(species)    
    @name = name  
  end
end

snoop = Dog.new("Labrador de Long-Beach", "Calvin")
puts snoop.species # Output: Labrador de Long-Beach

Dans cet exemple, la classe Dog hérite de tous les méthodes de la classe Animal, y compris la méthode .species.

Redéfinition des méthodes

Une sous-classe peut redéfinir des méthodes qui ont été définies dans la classe parente. Cela permet de fournir une fonctionnalité spécifique à la sous-classe. Voici un exemple :

class Animal  
  def initialize(species)    
    @species = species  
  end

  def species    
    @species  
  end

  def make_sound    
    "L'animal a fait un bruit indéfinissable."  
  end
end

class Dog < Animal  
  def initialize(species, name)    
    super(species)    
    @name = name  
  end

  def name    
    @name  
  end

  def make_sound    
    "Wouf!"  
  end
end

snoop = Dog.new("Labrador de Long-Beach", "Calvin")
puts snoop.make_sound # Output: Wouf!

Dans cet exemple, la méthode .make_sound de la classe Animal a été redéfinie dans Dog, ce qui lui permet de retourner une chaîne de caractères spécifique à la classe Dog.

Utiliser l'héritage pour vos projets de développement web

L'héritage en Ruby peut être extrêmement utile lorsque vous développez un site web ou une application pour une startup. Par exemple, dans une application de gestion d'animaux, vous pouvez avoir une classe parent Animal qui contient les attributs et méthodes de base pour tous les animaux, comme species et make_sound. Ensuite, vous pouvez créer des classes enfants comme Dog, Cat, et Bird, chacune ayant sa propre logique spécifique tout en réutilisant le code de la classe Animal. Cela réduit la redondance et améliore la maintenabilité de votre code.