Exemples de classes Ruby

Ci-dessous, nous allons créer une classe Ruby nommée Customer et déclarer deux méthodes :

  • display_details: Cette méthode est utilisée pour afficher les informations détaillées du client.
  • total_no_of_customers: Cette méthode est utilisée pour afficher le nombre total de clients créés dans le système.

Exemples

#!/usr/bin/ruby class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end def display_details() puts "Customer id #@cust_id" puts "Customer name #@cust_name" puts "Customer address #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end

display_detailsLa méthode contient trois instructions puts, qui affichent l'identifiant client, le nom du client et l'adresse du client. Parmi elles, les instructions puts :

puts "Customer id #@cust_id"

affichera le texte Customer id et la valeur de la variable @cust_id sur une seule ligne.

Lorsque vous souhaitez afficher le texte et la valeur d'une variable d'instance sur une seule ligne, vous devez placer le symbole (#) avant le nom de la variable dans l'instruction puts. Le texte et la variable d'instance avec le symbole (#) doivent être placés entre guillemets doubles.

La deuxième méthode, total_no_of_customers, contient la variable de classe @@no_of_customers. L'expression @@no_of_customers+=1 incrémente la variable no_of_customers de 1 chaque fois que la méthode total_no_of_customers est appelée. De cette façon, vous obtiendrez le nombre total de clients dans la variable de classe.

Maintenant, créez deux clients, comme indiqué ci-dessous :

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

Ici, nous créons deux objets de la classe Customer, cust1 et cust2, et transmettons les paramètres nécessaires à la méthode new. Lorsque la méthode initialize est appelée, les attributs nécessaires de l'objet sont initialisés.

Une fois l'objet créé, vous devez utiliser les deux objets pour appeler les méthodes de la classe. Si vous souhaitez appeler une méthode ou un membre de données, vous pouvez écrire le code comme indiqué ci-dessous :

cust1.display_details() cust1.total_no_of_customers()

Le nom de l'objet est toujours suivi d'un point, puis du nom de la méthode ou du membre de données. Nous avons vu comment appeler les deux méthodes en utilisant l'objet cust1. En utilisant l'objet cust2, vous pouvez également appeler les deux méthodes, comme indiqué ci-dessous :

cust2.display_details() cust2.total_no_of_customers()

Enregistrez et exécutez le code

Maintenant, placez tout le code source dans le fichier main.rb, comme indiqué ci-dessous :

Exemples

#!/usr/bin/ruby class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end def display_details() puts "Customer id #@cust_id" puts "Customer name #@cust_name" puts "Customer address #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end #Créer des objets cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala") #Appeler des méthodes cust1.display_details() cust1.total_no_of_customers() cust2.display_details() cust2.total_no_of_customers()

Essayez-le »

Ensuite, exécutez le programme, comme indiqué ci-dessous :

$ ruby main.rb

Cela produira le résultat suivant :

Customer id 1
Customer name John
Customer address Wisdom Apartments, Ludhiya
Total number of customers: 1
Customer id 2
Customer name Poul
Customer address New Empire road, Khandala
Total number of customers: 2
Autres extensions