[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: Class Variables for subclases...

Yukihiro Matsumoto

3/27/2007 2:44:00 AM

Hi,

In message "Re: Class Variables for subclases..."
on Tue, 27 Mar 2007 11:37:38 +0900, Sonny Chee <sonny.chee@gmail.com> writes:
|Check out the following:
|
|class A
| @@anobject = 'green'
| def fun2
| @@anobject
| end
|end
|
|class B < A
| @@anobject = 'blue'
| def fun2
| @@anobject
| end
|end
|
|puts B.new.fun2 # blue
|puts A.new.fun2 # blue
|
|So it looks like the subclass B is not defining its own class variable
|but reusing A's class variable @@anobject. Is there a different way to
|specify class variables to overcome this issue?

You can use constants-as-class-shared technique.

class A
Anobject = ['green']
def fun2
Anobject[0]
end
end

class B < A
Anobject = ['blue']
def fun2
Anobject[0]
end
end

puts B.new.fun2 # blue
puts A.new.fun2 # blue

1 Answer

Sonny Chee

3/27/2007 3:25:00 AM

0

Yukihiro Matsumoto wrote:

> You can use constants-as-class-shared technique.

Thanks, Matz. For my edification, is there a reason why class variables
behave in this way when subclassed? Is this a feature of the language
or the Ruby Interpretter?

Sonny.

--
Posted via http://www.ruby-....