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

类和对象 Ruby

Ruby è un linguaggio di programmazione orientato agli oggetti perfetto. Le caratteristiche dei linguaggi di programmazione orientati agli oggetti includono:

  • Encapsulation dei dati
  • Abstrazione dei dati
  • Polimorfismo
  • Ereditarietà

Queste caratteristiche saranno trattate in Ruby orientata agli oggetti Viene discusso qui.

Un programma orientato agli oggetti, che coinvolge classi e oggetti. Una classe è un modello per la creazione di oggetti individuali. In termini orientati agli oggetti, la tua bicicletta è un esempio della classe bicicletta.

Per esempio, un veicolo include ruote (wheels), cavalli (horsepower) e capacità del serbatoio di carburante o gas (fuel or gas tank capacity). Queste proprietà formano i membri di dati della classe (Vehicle). Utilizzando queste proprietà, è possibile distinguere un veicolo da altri veicoli.

I veicoli possono anche includere funzioni specifiche, come l'arresto (halting), la guida (driving) e il superamento dei limiti di velocità (speeding). Queste funzioni formano i membri di dati della classe Vehicle. Pertanto, puoi definire la classe come una combinazione di attributi e funzioni.

La definizione della classe Vehicle è la seguente:

Esempio online

Classe Vehicle
{
   Numero di ruote
   Numero cavalli
   Caratteri tipo_di_tank
   Numero Capacità
   Funzione di superamento dei limiti di velocità
   {
   }
   Funzione di guida
   {
   }
   Funzione di arresto
   {
   }
}

Assegnando valori diversi a questi membri di dati, puoi creare diversi esempi della classe Vehicle. Ad esempio, un aereo ha tre ruote, 1.000 cavalli e una capacità di serbatoio di 100 litri. In modo analogo, un'auto ha quattro ruote, 200 cavalli e una capacità di serbatoio di 25 litri.

Definire una classe in Ruby

Per implementare la programmazione orientata agli oggetti in Ruby, devi prima imparare come creare oggetti e classi in Ruby.

In Ruby, le classi iniziano sempre con la parola chiave class inizialmente, seguita dal nome della classe. La prima lettera del nome della classe deve essere maiuscola. La parola chiave Customer come segue:

class Customer
end

Puoi utilizzare la parola chiave end Terminare una classe.class Tutti i membri di dati sono tra la definizione della classe e end Tra le parole chiave.

Variabili nella classe Ruby

Ruby fornisce quattro tipi di variabili:

  • Variabili locali:Le variabili locali sono definite all'interno di un metodo. Le variabili locali non sono accessibili al di fuori del metodo. Ne vedrai di più sui metodi nei capitoli successivi. Le variabili locali iniziano con lettere minuscole o underscore.
  • Variabili di esempio:Le variabili di esempio possono essere utilizzate tra qualsiasi esempio specifico o metodo di un oggetto. Questo significa che le variabili di esempio possono cambiare da oggetto a oggetto. Le variabili di esempio sono precedute dal simbolo (@) nel nome della variabile.
  • Variabili di classe:Le variabili di classe possono essere utilizzate tra diversi oggetti. Le variabili di classe appartengono alla classe e sono un attributo della classe. Le variabili di classe sono precedute dal simbolo (@@) nel nome della variabile.
  • Variabili globali:Le variabili di classe non possono essere utilizzate tra classi diverse. Se desideri avere una variabile utilizzabile tra classi diverse, devi definire una variabile globale. Le variabili globali iniziano sempre con il simbolo dollaro ($).

Esempio online

Utilizzando la variabile di classe @@no_of_customers, puoi determinare il numero di oggetti creati, il che ti permette di stabilire il numero di clienti.

Esempio online

class Customer
   @@no_of_customers=0
end

Utilizzo in Ruby new metodo creare oggetti

Un oggetto è un esempio della classe. Ora imparerai come creare oggetti di classe in Ruby. In Ruby, puoi usare i metodi della classe per new crea oggetti.

Metodi new è un metodo unico predefinito nelle librerie Ruby. Il metodo new appartiene aiclassMetodo.

Esempio seguente crea due oggetti cust1 e cust2 della classe Customer:

cust1 = Customer. new
cust2 = Customer. new

Qui, cust1 e cust2 sono i nomi di due oggetti. Dopo il nome dell'oggetto segue un equal (=), seguito dal nome della classe, poi il segno punto e la parola chiave new.

metodi personalizzati per creare oggetti Ruby

Puoi dare un nome al metodo new passando parametri, che possono essere utilizzati per inizializzare le variabili di classe.

Quando si desidera dichiarare un metodo con parametri new Quando si desidera dichiarare un metodo con parametri, è necessario dichiarare il metodo mentre si crea la classe. initialize.

initialize Metodo è un tipo speciale di metodo che viene eseguito quando si chiama la classe con parametri. new eseguiti quando si chiama il metodo.

Esempio seguente crea il metodo initialize:

Esempio online

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

In questo esempio, puoi dichiarare con id, name, addr come variabile locale initializeMetodo.defend usato per definire metodi Ruby initialize. Nei capitoli successivi, imparerai ulteriori dettagli sui metodi.

In initialize Metodo, passa i valori delle variabili locali alla variabile di esempio @cust_id, @cust_name e @cust_addr. Qui, i valori delle variabili locali sono trasmessi con il metodo new.

Ora, puoi creare oggetti come segue:

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

Metodi di membro delle classi Ruby

In Ruby, le funzioni sono chiamate metodi.classOgni metodo all'interno di def seguito dal nome del metodo.

Il nome del metodo inizia sempre con:lettere minuscoleiniziale. In Ruby, puoi usare il termine chiave: end per terminare un metodo.

Esempio di definizione di un metodo Ruby seguente:

class Sample
   def function
      statement 1
      statement 2
   end
end

在这里,statement 1statement 2 是类 Sample 内的方法 function 的主体组成部分。这些语句可以是任何有效的 Ruby 语句。例如,我们可以使用方法 puts 来输出 Hello Ruby,如下所示:

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

下面的示例将创建类 Sample 的一个对象,并调用 hello 方法:

#!/usr/bin/ruby
class Sample
   def hello
      puts "Hello Ruby!"
   end
end
# 使用上面的类来创建对象
object = Sample.new
object.hello

这将产生以下结果:

Hello Ruby!

案例研究简单

如果您想要做更多有关类和对象的练习,这里有一个案例研究:

案例类 Ruby