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

Clases y objetos de Ruby

Ruby es un lenguaje de programación orientado a objetos perfecto. Las características de un lenguaje de programación orientado a objetos incluyen:

  • Encapsulación de datos
  • Abstracción de datos
  • Polimorfismo
  • Herencia

Estas características se discutirán en Ruby orientado a objetos Se discute aquí.

Un programa orientado a objetos, que implica clases y objetos. Una clase es un plano para la creación de objetos individuales. En términos de programación orientada a objetos, su bicicleta es un ejemplo de la clase bicicleta.

Tomando como ejemplo el vehículo, incluye ruedas (wheels), caballos de fuerza (horsepower), capacidad del tanque de combustible o gas (capacidad del tanque de combustible o gas). Estas propiedades forman parte de los miembros de datos de la clase Vehicle. Gracias a estas propiedades, puede distinguir un vehículo de otros vehículos.

Los vehículos también pueden contener funciones específicas, como detenerse (halting), conducir (driving), acelerar (speeding). Estas funciones forman parte de los miembros de datos de la clase Vehicle. Por lo tanto, puede definir la clase como una combinación de propiedades y funciones.

La definición de la clase Vehicle es la siguiente:

Ejemplo en línea

Clase Vehicle
{
   Número número_de_ruedas
   Número caballos_de_fuerza
   Caracteres tipo_de_tanque
   Número Capacidad
   Función de aceleración
   {
   }
   Función de conducción
   {
   }
   Función de parada
   {
   }
}

Asignando diferentes valores a estos miembros de datos, puede crear diferentes ejemplos de la clase Vehicle. Por ejemplo, un avión tiene tres ruedas, caballos de fuerza 1,000, la capacidad del tanque de combustible es 100 litros. De la misma manera, un coche tiene cuatro ruedas, caballos de fuerza 200, la capacidad del tanque de gas es 25 Ascender.

Definir una clase en Ruby

Para utilizar la programación orientada a objetos en Ruby, primero debe aprender cómo crear objetos y clases en Ruby.

En Ruby, las clases siempre comienzan con la palabra clave class Comienza, seguido del nombre de la clase. La primera letra del nombre de la clase debe estar en mayúscula. La clase Customer como se muestra a continuación:

class Customer
end

Puede usar la palabra clave end Terminar una clase.clase Todos los miembros de datos están entre la definición de clase y end Entre las palabras clave.

Variables en la clase Ruby

Ruby ofrece cuatro tipos de variables:

  • Variable local:Las variables locales son variables definidas dentro de un método. Las variables locales no están disponibles fuera del método. En capítulos posteriores, verá más detalles sobre los métodos. Las variables locales comienzan con letras minúsculas o _.
  • Variable de ejemplo:Las variables de ejemplo pueden utilizarse en cualquier método específico o objeto. Esto significa que las variables de ejemplo pueden cambiar de objeto a objeto. Las variables de ejemplo se colocan antes del nombre de la variable con el símbolo (@).
  • Variable de clase:Las variables de clase pueden utilizarse entre diferentes objetos. Las variables de clase pertenecen a la clase y son una propiedad de la clase. Las variables de clase se colocan antes del nombre de la variable con el símbolo (@@).
  • Variable global:Las variables de clase no pueden utilizarse entre clases. Si desea tener una variable que pueda utilizarse entre clases, debe definir una variable global. Las variables globales siempre comienzan con el símbolo de dólar ($).

Ejemplo en línea

con la variable de clase @@no_of_customers, puede determinar el número de objetos creados, lo que permite determinar el número de clientes.

Ejemplo en línea

class Customer
   @@no_of_customers=0
end

En Ruby, se usa new método para crear objetos

Los objetos son ejemplos de la clase. Ahora aprenderá cómo crear objetos de clase en Ruby. En Ruby, puede usar métodos de clase new para crear objetos.

métodos new es un método único que se define en la biblioteca Ruby. El método new pertenece aclasemétodo.

El siguiente ejemplo crea dos objetos de la clase Customer, cust1 y cust2:

cust1 = Customer. new
cust2 = Customer. new

Aquí, cust1 y cust2 son dos nombres de objetos. Después del nombre del objeto sigue un igual (=), seguido del nombre de la clase, luego el operador de punto y la palabra clave new.

métodos personalizados para crear objetos Ruby

Puede dar new transmitiendo parámetros, estos parámetros se pueden usar para inicializar las variables de clase.

cuando desee declarar un new Cuando necesite declarar un método con parámetros, debe declarar el método al mismo tiempo que se crea la clase initialize.

initialize es un tipo especial de método que se llama en la clase con parámetros. new se ejecuta cuando se invoca el método.

El siguiente ejemplo crea el método initialize:

Ejemplo en línea

class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   end
end

En este ejemplo, puede declarar con id, name, addr como variable local initializemétodo. Aquí,def y end usado para definir métodos Ruby initializeEn los capítulos posteriores, aprenderá más detalles sobre los métodos.

en initialize método, transmita los valores de las variables locales a las variables de ejemplo @cust_id, @cust_name y @cust_addr. Aquí, los valores de las variables locales se transmiten con el método new.

Ahora, puede crear objetos de la siguiente manera:

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

Los miembros de función de clase en Ruby

En Ruby, las funciones se llaman métodos.claseCada método en def seguido del nombre del método.

El nombre del método siempre comienza conletras minúsculasde inicio. En Ruby, puede usar la palabra clave end para finalizar un método.

El siguiente ejemplo define un método Ruby:

class Sample
   def function
      statement 1
      statement 2
   end
end

aquí,statement 1 y statement 2 es un método dentro de la clase Sample function las partes principales del sujeto. Estas sentencias pueden ser cualquier语句 de Ruby válido. Por ejemplo, podemos usar el método puts para emitir Hello Rubycomo se muestra a continuación:

class Sample
   def hello
      puts "Hello Ruby!"
   end
end

El siguiente ejemplo creará un objeto de la clase Sample y llamará hello Método:

#!/usr/bin/ruby
class Sample
   def hello
      puts "Hello Ruby!"
   end
end
# Crear un objeto usando la clase superior
object = Sample.new
object.hello

Esto producirá el siguiente resultado:

¡Hola Ruby!

Estudio de caso simple

Si deseas hacer más ejercicios sobre clases y objetos, aquí hay un estudio de caso:

Ejemplo de clase de Ruby