При наследовании класса, я хочу, чтобы сохранить класс переменные в наследуя класс вместо родительского класса ... вот так ...переменных Присвоить класс для унаследованных классов
class Foo
def self.inherited klass
klass.title = klass.to_s
end
def self.title= title
@@title = title
end
def self.title
@@title
end
end
class Bar < Foo
end
class Baz < Foo
end
Bar.title # returns `Baz` instead of `Bar`
Baz.title
Это надуманное например, потому что после игры с ним я больше хочу просто понять, чем что-либо.
так, что я пытаюсь понять, почему все 3 класса совместно используют ту же переменную класса. я изначально использовал переменную экземпляра, но он казался контр-интуитивным, поскольку подразумевал, что эти переменные будут доступны для экземпляров классов .... но поскольку это метод класса, переменная экземпляра ссылается на класс (экземпляр класс 'Class'? – brewster
@brewster Вот как он разработан .. * переменные класса * будут разделены. Почему дизайн, я не знаю. Но я могу заверить, как это происходит. :-) –
Я имею в виду, так как объявлено технически 3 класса, я пытался понять, почему я не мог объявить 3 независимых переменных класса между ними. – brewster