Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Corso su Ruby: classi aperte
Scritto da Satish Talim il 04-07-2007 ore 10:33
Intel Cluster Studio XE
In Ruby, le classi non sono mai chiuse: si possono sempre aggiungere metodi ad una classe esistente. Questo è applicabile sia alle classi proprie che a quelle standard, precostituite. Tutto quello che c'è da fare è aprire una definizione di classe per una classe esistente, e il nuovo contenuto sarà aggiunto in qualunque posizione.

Ecco il programma p031motorcycletest.rb e il medoto dispAttr:
  1. <span style="font-size:1.0em">
  2. require 'motorcycle'  
  3.  m = MotorCycle.new('Yamaha', 'red')  
  4. m.startEngine  
  5.  
  6. class MotorCycle  
  7. def dispAttr  
  8.  puts 'Color of MotorCycle is ' + @color  
  9.   puts 'Make  of MotorCycle is ' + @make  
  10.   end  
  11.  end  
  12.  m.dispAttr  
  13.  m.startEngine  
  14. puts self.class  
  15.  puts self  </span>

Da notare che
  1. <span style="font-size:1.0em">self.class</span>
si riferisce a Object e
  1. <span style="font-size:1.0em">self</span>
si riferisce ad un oggetto chiamato main della classe Object. Un altro esempio è il programma p031xdognext.rb:
  1. <span style="font-size:1.0em">
  2. require 'p029dog.rb'  
  3.  # define class Dog  
  4.  class Dog  
  5.   def big_bark  
  6.   puts 'Woof! Woof!'  
  7.  end  
  8.  end  
  9.  # make an object  
  10.  d = Dog.new('Labrador', 'Benzy')  
  11.  d.bark  
  12. d.big_bark  
  13.  d.display  </span>

Un ulteriore esempio di aggiunta di un metodo alla classe String è il programma p032mystring.rb:
  1. <span style="font-size:1.0em">
  2. class String  
  3.  def writesize  
  4.   puts self.size  
  5.  end  
  6.  end  
  7.  size_writer = "Tell me my size!"  
  8. size_writer.writesize  </span>

"Traduzione e adattamento a cura di Francesca Beatrice Cice. La versione originale del tutorial di Satish Talim può essere trovata su rubylearning.com"
Precedente: Corso sul sistema MIDI: programmare MIDI sotto Linux (5/5)
Successiva: Wubi, Ubuntu come applicazione di Windows
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.297 secondi.