English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ejemplo de clase en Ruby

A continuación, se creará una clase Ruby llamada Customer, que declarará dos métodos:

  • display_details:Este método se utiliza para mostrar los detalles del cliente.

  • total_no_of_customers:Este método se utiliza para mostrar el número total de clientes creados en el sistema.

Ejemplo en línea

#!/usr/bin/ruby
 
class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   fin
   def display_details()
      puts "ID del cliente @cust_id"
      puts "Nombre del cliente @cust_name"
      puts "Dirección del cliente @cust_addr"
    fin
    def total_no_of_customers()
       @@no_of_customers += 1
       puts "Número total de clientes: #@@no_of_customers"
    fin
fin

display_details El método contiene tres declaraciones puts, que muestran el ID del cliente, el nombre del cliente y la dirección del cliente. Entre ellas, la declaración puts es:

puts "ID del cliente @cust_id"

Se mostrará el texto "ID del cliente" y el valor de la variable @cust_id en una sola línea.

Cuando desee mostrar el texto y el valor de una variable de ejemplo en una sola línea, debe colocar el símbolo (#) antes del nombre de la variable en la declaración puts. El texto y la variable de ejemplo con el símbolo (#) deben estar entre comillas dobles.

El segundo método, total_no_of_customers, contiene la variable de clase @@no_of_customers. La expresión @@no_ clientes+=1 En cada llamada al método total_no_of_customers, suma la variable no_of_customers 1De esta manera, obtendrá el número total de clientes en la variable de clase.

Ahora crea dos clientes, como se muestra a continuación:

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

Aquí, creamos dos objetos de la clase Customer, cust1 y cust2y pasar los parámetros necesarios al método new. Cuando se llama al método initialize, se inicializan las propiedades necesarias del objeto.

Una vez que se crea el objeto, necesita usar dos objetos para llamar a los métodos de la clase. Si desea llamar a un método o cualquier miembro de datos, puede escribir el código, como se muestra a continuación:

cust1.display_details()
cust1.total_no_of_customers()

El nombre del objeto siempre sigue de un punto, seguido del nombre del método o miembro de datos. Hemos visto cómo usar cust1 Llamar a dos métodos del objeto. Usando cust2 El objeto, también puede llamar a dos métodos, como se muestra a continuación:

cust2.display_details()
cust2.total_no_of_customers()

Guardar y ejecutar el código

Ahora, coloque todo el código fuente en el archivo main.rb, como se muestra a continuación:

Ejemplo en línea

#!/usr/bin/ruby
 
class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   fin
   def display_details()
      puts "ID del cliente @cust_id"
      puts "Nombre del cliente @cust_name"
      puts "Dirección del cliente @cust_addr"
   fin
   def total_no_of_customers()
      @@no_of_customers += 1
      puts "Número total de clientes: #@@no_of_customers"
   fin
fin
 
Crear objeto
cust1=/Customer.new("1"John", "Wisdom Apartments, Ludhiya")
cust2=/Customer.new("2", "Poul", "New Empire road, Khandala")
 
# Llamar al método
cust1.display_details()
cust1.total_no_of_customers()
cust2.display_details()
cust2.total_no_of_customers()

Luego, ejecute el programa, como se muestra a continuación:

$ ruby main.rb

Esto producirá el siguiente resultado:

ID del cliente 1
Nombre del cliente John
Dirección del cliente Wisdom Apartments, Ludhiya
Número total de clientes: 1
ID del cliente 2
Nombre del cliente Poul
Dirección del cliente New Empire road, Khandala
Número total de clientes: 2