Ruby: infarinatura generale sugli oggetti

Chi si avvicina per la prima volta a Ruby noterà sicuramente che tutto è un oggetto, non resta dunque che approfondire come avviene il loro utilizzo in Ruby; ricordo inoltre che la seguente non vuole essere una guida ma è solo una sintesi di un mio studio fatto per iniziare a sviluppare con Ruby on Rails.

I Metodi

Possiamo definire in maniera abbastanza semplificata un metodo come un operazione che ci è permesso di far svolgere ad un oggetto. L’utilizzo dei metodi avviene con la sintassi

oggetto.metodo

oppure se il metodo lo richiede si possono passare anche i parametri con la sintassi

oggetto.metodo(param1, param2,…)

oggetto metodo param1, param2 … …

in Ruby anche scritture come la seguente sono permesse

“cde”.length

cde è comunque trattato come un oggetto e possiede il metodo length, il risultato sarà

ruby> “cde”.length

6

Creare un oggetto

La creazione di un oggetto avviene mediante la realizzazione di una classe, la sintassi è la seguente

class nome_classe

def nome_metodo

end

….

….

end

per utilizzare la classe si utilizza la sintasse classica

nome_ogg = nome_classe.new

per utilizzare i metodi della classe come scritto prima

nome_ogg.nome_metodo

Ereditarietà

Capita spesso di dover creare una classe che si differenzia da una esistente per pochi metodi, ci è quindi comodo far ereditare da una classe i metodi esistenti così da poterli integrare con ciò che ci serve senza doverli riscrivere, in Ruby ciò avviene nel seguente modo

class nome_classe < classe_da_ereditare

def metodo1

end

end

l’istanza della classe nome_classe erediterà anche i metodi di classe_da_ereditare. Potremmo però non voler ereditare completamente i metodi di una classe ma solo in parte dovremo operare nel seguente modo

class uno

def metodo1

….

end

def metodo2

….

end

end

class due < uno

def tre

end

def due

fail

end

end

in questo modo non erediterà il metodo due.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...