mercredi, avril 27, 2005

Une Classe simple

Voila une petite classe simple qui dit bonjour, la variable avec @ est une variable d'instance.
class BonjourClasse

  def initialize(nom)
    @bonjour = "bonjour"
    @nom = nom
  end
  
  def ditBonjourToutLeMonde
    return @bonjour + " tout le monde"
  end
  
  def ditBonjourEtMonNom
    return @bonjour + " " + @nom
  end
  
  def remplaceBonjour=(nouveauBonjour)
    @bonjour = nouveauBonjour
  end

end

classe = BonjourClasse.new("moi")
puts "Pour tout le monde: \t" + classe.ditBonjourToutLeMonde
puts "Pour moi: \t\t" + classe.ditBonjourEtMonNom

classe.remplaceBonjour = "test"
puts "Pour tout le monde: \t" + classe.ditBonjourToutLeMonde

Résultat:
C:\ruby\rubyscube>ruby bonjour_classe.rb
Pour tout le monde:     bonjour tout le monde
Pour moi:               bonjour moi
Pour tout le monde:     test tout le monde

2 commentaires:

Frederick Ros a dit…

Bonjour,

La facon canonique de le faire serait d'enlever la methode remplaceBonjour= et de la remplacer par un attr_writer :bonjour, pour avoir une methode bonjour= qui met a jour la variable @bonjour

Benjamin Francisoud a dit…

Justement comme je suis en train d'apprendre, je ne sais pas encore bien utiliser les attr_writer, attr_reader et attr_accessor... je vais regarder ca de plus pres :)