Aller au contenu

Programmation Ruby/Pour les programmeurs Java

Un livre de Wikilivres.


Cette page s'adresse aux développeurs qui sont habitués à Java, elle liste les subtilités et donne des conseils pour trouver rapidement ces marques.

Subtilité dans la visibilité

[modifier | modifier le wikicode]

Les notions de private, protected et public différent en Java et en Ruby.

En Java, deux objets peuvent faire appels aux méthodes privées de l'un et de l'autre tant que ces deux objets sont les instances de la même classe. Ce n'est pas la cas en Ruby où une méthode déclarée private ne peut être appelée sur une instance que par l'instance elle-même.

En revanche, le comportant décrit précédemment en Java peut être obtenu en Ruby avec protected. Autrement dit, un objet peut appeler les méthodes protégées d'un autre objet seulement si ces deux objets sont instances de la même classe.

Remarquons qu'en Ruby, contrairement à Java, il n'est pas possible de rendre une méthode invisible pour ses sous-classes (ce que permet protected en Java). La notion de visibilité public est similaire dans les deux langages.

  • Le mot clé synchronised revient, en Ruby, à créer un instance de Mutex dans l'objet synchronisé.
  • Prevayler en Java se nomme Madeleine