Ruby Ejemplo de clase

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

  • display_details: Este método se utiliza para mostrar la información detallada del cliente.
  • total_no_of_customers: Este método se utiliza para mostrar el número total de clientes creados en el sistema.

Ejemplo

#!/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_detailsEl método contiene tres sentencias puts que muestran el ID del cliente, el nombre del cliente y la dirección del cliente. Entre ellas, la sentencia puts:

puts "Customer id #@cust_id"

Mostrará el texto 'Customer id' 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 instancia en una sola línea, debe colocar el símbolo (#) antes del nombre de la variable en la sentencia puts. El texto y la variable de instancia 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_of_customers+=1 incrementa la variable no_of_customers en 1 cada vez que se llama al método total_no_of_customers. De esta manera, obtendrá el número total de clientes en la variable de clase.

Ahora cree 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 cust2, y pasamos los parámetros necesarios al método new. Cuando se llama al método initialize, se inicializan los atributos necesarios del objeto.

Una vez que se crea el objeto, necesita usar los dos objetos para llamar a los métodos de la clase. Si desea llamar a un método o a 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 va seguido de un punto y luego el nombre del método o miembro de datos. Ya hemos visto cómo usar el objeto cust1 para llamar a dos métodos. Con el objeto cust2, también puede llamar a los 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

#!/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 #Crear objetos cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala") #Llamar a métodos cust1.display_details() cust1.total_no_of_customers() cust2.display_details() cust2.total_no_of_customers()

Pruébalo »

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

$ ruby main.rb

Esto producirá el siguiente resultado:

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
Otras extensiones