Accueil - Forum - Bibliothèque de ressources
____

Initiation à la Programmation Orientée Objet

Auteur : Åvygeil

II) Classe

La création des classes du programme correspond à la 1ere partie où l'on définit les structures de données et les opérations sur elles.
Dans une classe, on définit des attributs qui servent à décrire l'état, et des méthodes qui décrivent le comportement d'un objet instance de la classe.

Nous allons implémenter en Ruby une classe Voiture. L'état des objets créés à partir de cette classe sera caractérisé par un attribut vitesse, et le comportement par la faculté d'accélérer et de donner sa vitesse.

Créez un nouveau projet, nommé «Tutorial POO» par exemple, et créez un nouveau script nommé «Voiture» au dessus du script Main. 

Commençons par définir une classe vide, grâce au mot-clé class :

Code Rubyclass Voiture
end
Pour que notre classe Voiture puisse générer des objets, il faut créer une méthode spéciale nommée «initialize» : celle-ci se chargera d'initialiser la vitesse des voitures à une valeur souhaitée, où à 0 par défaut.
Dans la classe Voiture, tapez :

Code Rubydef initialize(v = 0)
  @vitesse = v
end
Observons la syntaxe de plus près :

- On définit une méthode grâce au mot-clé def.
- A une méthode, on peut passer des paramètres (ici la vitesse initiale).
- A un paramètre, on peut donner une valeur par défaut (ici 0).
- Les attributs sont précédés du symbole @.


Créons à présent la méthode qui va permettre aux voitures d'accélérer :
Code Rubydef accelere(a)
  @vitesse += a
end
Observons la syntaxe de plus près :

- += est une opération qui permet d'ajouter à la vitesse le nombre passé en paramètre.

Finissons par la méthode qui permet à la voiture de donner sa vitesse actuelle, c'est à dire son état.
Ce genre de méthode est appelé généralement «to_s» en Ruby, car elle renvoie un objet String, une chaîne de caractères.

Code Rubydef to_s
  return "Ma vitesse est #{@vitesse} km/h"
end
Observons la syntaxe de plus près :

- Le mot-clé return permet de renvoyer l'objet placé juste derrière.
- Un objet String est créé grâce à des guillemets.
- Les objets entre #{...} sont directement incorporés dans la chaîne de caractères.


Récapitulons notre 1ere classe :


Code Rubyclass Voiture

  # Méthode d'initialisation de la voiture.
  def initialize(v = 0)
     @vitesse = v
  end

  # Méthode d'accélération de la voiture.
  def accelere(a)
    @vitesse += a
  end

  # Méthode qui renvoie une description de la voiture.
  def to_s
    return "Ma vitesse est #{@vitesse} km/h"
  end

end
Quelques remarques :

- Les lignes commençant par un # sont des commentaires non pris en compte lors de l'exécution du programme. Usez et abusez-en pour commenter votre code.
- Indentez et espacez votre code pour le rendre plus lisible.

Informations
Page vue 4244 fois | Auteur : Samarium

RPG Creative version 5 - Libérez votre créativité ! ; Mai 2005 - Mai 2012
0.037s - Optimisé pour une résolution 1024*728 - Tous droits réservés.

Contact - Partenaires - Historique - A propos