Come creare classi e oggetti in Ruby

Come creare classi e oggetti in Ruby
Ruby è un potente linguaggio di programmazione che offre funzionalità e strumenti moderni. Una di queste funzionalità è il supporto per la programmazione orientata agli oggetti, incluso il polimorfismo di incapsulamento, l'astrazione, l'eredità e altro ancora.

Questo tutorial discuterà di un concetto chiave nella programmazione orientata agli oggetti: oggetto e classi.

Cosa sono le classi di Ruby e O Bjects?

Cominciamo con una classe.

Una classe è un progetto per la creazione di oggetti e la fornitura di implementazioni di valori, tra cui variabili, metodi, attributi e altro ancora.

Un oggetto, d'altra parte, è una singola istanza di una classe. Prendi una macchina, per esempio. Possiamo creare una classe che descriva i progetti della costruzione di un'auto. Gli attributi della classe possono essere tutte le cose che le auto hanno in comune:

  1. Un motore
  2. Una porta
  3. Un modello
  4. Produttore

La classe di auto può anche includere metodi che sono azioni che gli oggetti di classe possono eseguire. Un esempio sarebbe che l'auto può accendere, accelerare, fermarsi e simili.

Le classi sono molto utili quando è necessario creare oggetti simili con solo aspetti diversi. Invece di dichiarare un blocco di codice per un'auto Mercedes, un bugatti, una Tesla e simili, puoi creare una singola classe a cui si fa riferimento a ciascun modello.

Come creare una classe e un oggetto in Ruby

Ruby è un linguaggio incredibile che è anche molto facile da usare. Fornisce una sintassi generalmente semplice per la creazione di una classe.

La sintassi generale è:

Classe ClassName
# Blocco
FINE

Iniziamo chiamando la parola chiave della classe seguita dal nome della classe che desideriamo creare. Il nome della classe inizia con una lettera maiuscola e usa Camelcase per i seguenti nomi.

All'interno della classe, definiamo tutte le variabili e i metodi che la classe richiederà.

Chiudiamo il codice di classe utilizzando la parola chiave finale.

Esempio

Diamo un'occhiata a un esempio di classe di auto.

Auto di classe
DEF Initialize (motore, nome, anno)
@Engine = Engine
@name = nome
@year = anno
FINE
def accendi
mette "accensione!"
FINE
Def Stop
mette "fermare il veicolo"
FINE
def accelerate (target_speed)
@Target_Speed ​​= Target_Speed
mette "l'accelerazione dell'auto su #target_speed m/h"
FINE
FINE
f = auto.new ("A108D", "F A-Classe", 2010)
G = auto.new ("00CA", "Zero G-8", 2011)
H = auto.Nuovo ("777d", "G Potato", 2022)

Nel codice sopra, iniziamo definendo la classe di auto. All'interno della classe, definiamo il metodo Initialize, un tipo speciale di metodo in Ruby utilizzato per creare l'istanza chiamata della classe con gli argomenti richiesti. Il metodo inizialize funge da costruttore per nuovo.

All'interno del metodo Initialize, passiamo il motore, il nome e l'anno di produzione dell'auto. Eseguiamo quindi alcune azioni con l'auto, tra cui l'accensione, l'accelerazione e l'arresto.

Infine, creiamo un'istanza della classe automobilistica. Chiamiamo questa istanza perché creiamo un'istanza della classe.

Passiamo i parametri del metodo inizialize, che crea tre tipi di auto uniche.

Usando metodi di classe

Nell'esempio sopra, creiamo una classe con vari metodi ma non li abbiamo ancora usati. Per utilizzare un metodo, inseriamo semplicemente il nome dell'oggetto seguito da un periodo e il nome del metodo.

La sintassi è:

my_object.metodo

Prendiamo l'esempio precedente; Per accendere l'auto F, possiamo fare:

// Fai riferimento al codice sopra
f = auto.new ("A108D", "F A-Classe", 2010)
G = auto.new ("00CA", "Zero G-8", 2011)
H = auto.Nuovo ("777d", "G Potato", 2022)
F.accendere

Se eseguiamo il codice sopra, dovremmo vedere l'auto accendi correttamente stampando la stringa "Accensione!"

Ogni parte dal metodo iniziale funziona come un comando che definisce le azioni che l'oggetto creato dalla classe può fare.

Ottieni la classe di origine

Ogni tipo in Ruby è un oggetto di una classe. È possibile visualizzare da quale classe viene creato l'oggetto utilizzando il metodo della classe.

Per esempio:

Auto di classe
DEF Initialize (motore, nome, anno)
@Engine = Engine
@name = nome
@year = anno
FINE
def accendi
mette "accensione!"
FINE
Def Stop
mette "fermare il veicolo"
FINE
def accelerate (target_speed)
@Target_Speed ​​= Target_Speed
mette "l'accelerazione dell'auto su #target_speed m/h"
FINE
FINE
f = auto.new ("A108D", "F A-Classe", 2010)
mette "ciao".classe
Mette 10.classe
mette 11.023.classe
mette f.classe

Una volta eseguito il codice, dovremmo vedere le classi per stringa, numero intero, galleggiante e auto come:

Corda
Numero intero
Galleggiante
Auto

Conclusione

In questo tutorial, abbiamo imparato le basi della programmazione orientata agli oggetti in Ruby usando classi e oggetti. È bene notare che OOP è un argomento enorme. Dai un'occhiata ad altre risorse per saperne di più.