Sto leggendo il mio libro rubino. Guardando il codice sottostante,Quali criteri giustificano l'utilizzo di un modulo su una classe in Ruby?
module Destroy
def destroy(anyObject)
@anyObject = anyObject
puts "I will destroy the object: #{anyObject}"
end
end
class User
include Destroy
attr_accessor :name, :email
def initialize(name,email)
@name = name
@email = email
end
end
my_info = User.new("Bob","[email protected]")
puts "So your name is: #{my_info.name} and you have email #{my_info.email}"
user = User.new("john","[email protected]")
user.destroy("blah")
Avrei potuto creare un altro metodo all'interno della mia classe. Perché dovrei voler fare questo? Perché dovrei voler usare un modulo? Non è come incorporare questo in altre classi è più facile che usare semplicemente l'ereditarietà normale.
L'ereditarietà non è l'unico modo per condividere funzionalità e spesso non è né pratica né possibile. –
Possibile duplicato di [Differenza tra una classe e un modulo] (http://stackoverflow.com/questions/151505/difference-between-a-class-and-a-module) – SoAwesomeMan