attr_accessor über mehrere Klassen?
Habe ich ein einzelnes Modul mit vielen verschiedenen Klassen (aufgeteilt in separate Dateien). Jede Klasse hat den gleichen Satz von attr_accessor
, also wie kann ich wiederverwenden, statt zu wiederholen, die attr_accessor
block?
Was ich gerade mache....
# dog.rb
module Animals
class Dog
attr_accessor :name, :color, :age
end
end
# cat.rb
module Animals
class Cat
attr_accessor :name, :color, :age
end
end
# rodent.rb
module Animals
class Rodent
attr_accessor :name, :color, :age
end
end
Ich habe versucht zu tun, nicht mit Glück...
# animals.rb
module Animals
attr_accessor :name, :color, :age
end
Ich zugreifen zu können, müssen diese Module direkt über meine app (es ist eine Rails-app). Zum Beispiel: Animals::Dog.give_water
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Nutzung des Moduls
Animal
ist falsch. Verwenden Sie es als ein Namensraum muss nicht alles, was gut für Ihren Zweck. Sie sollten Sie.Oder kann man wiederum
Animal
in eine Klasse und Unterklasse von.Durch die Art und Weise, eine Klasse, die bereits impliziert, dass es möglicherweise mehrere Instanzen, so ist es redundant, um eine plural-name für eine Klasse. Und Sie sind auch widersprüchlich darüber.
Animals::Dog.feed
...kann ich noch tun, dass mit entweder/sowohl dieser?def self.feed
. Es müsste gehen in denAnimals
Klasse, wenn Sie möchten, dass alle die Nachkommen zu vererben.