Classes en Ruby

Introduction aux classes

Les classes se présentent comme des schémas pour concevoir des objets. Ces objets, souvent appelés instances de la classe, portent les caractéristiques et les comportements définis par la classe. Prenons l'exemple d'une classe nommée Balle. La classe Balle pourrait inclure des instances telles que : baseball, football, et basketball.

Définir une classe

Pour créer une nouvelle classe, il suffit d'utiliser le mot-clé class suivi d'un nom, dont la première lettre est en majuscule. La définition de la classe se termine avec le mot-clé end. Les objets, ou instances de la classe, peuvent être créés en appelant la méthode new de cette classe.

# La classe s'appelle Balle
class Balle  
  # Propriétés et méthodes de la classe
end

# Création de deux instances de la classe Balle
balle1 = Balle.new
balle2 = Balle.new

# Affichage de la classe de balle1 et balle2
puts balle1.class
puts balle2.class

Passer des paramètres à la méthode new

Il est possible de transmettre des paramètres à la méthode new lors de son appel, et ces derniers sont affectés aux propriétés de la classe.

# La classe s'appelle Balle
class Balle
  # Méthode d'initialisation - appelée à chaque fois qu'un nouvel objet est créé  
  def initialize(nom, taille, forme, couleur)    
    @nom = nom    
    @taille = taille    
    @forme = forme    
    @couleur = couleur
    puts "La #{@nom} est #{@taille} et #{@forme} et est de couleur #{@couleur}."  
  end
end

# Création de trois instances de la classe Balle
balle1 = Balle.new("basketball", "moyenne", "ronde", "orange")
balle2 = Balle.new("football", "moyenne", "oblongue", "marron")
balle3 = Balle.new("ballon de football", "moyenne", "ronde", "noir et blanc")

Résultats

L'exécution de ce code produira les résultats suivants :

La basketball est moyenne et ronde et est de couleur orange.
La football est moyenne et oblongue et est de couleur marron.
La ballon de football est moyenne et ronde et est de couleur noir et blanc.