[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Reopen a class and inheritance

pachl

2/12/2008 9:17:00 AM

Is it recommended to include the parent class when reopening a child
class? What are the consequences of each?

class Parent
def meth0; 'meth0' end
end

class Child < Parent
def meth1; 'meth1' end
end

# Reopen class w/o parent
class Child
def meth2; 'meth2' end
end

# Reopen class w/ parent
class Child < Parent
def meth3; 'meth3' end
end
1 Answer

ThoML

2/12/2008 9:43:00 AM

0

> Is it recommended to include the parent class when reopening a child
> class?

If you change the parent class (for whatever reason that might be),
you'll also have to change all locations where the child class is
opened.

IIRC it was once discussed that adding the child class makes added
methods be stacked instead of overwritten. I hope this won't be
included in future versions of ruby due to its cryptic style but there
is a possibility these two versions will behave differently some day
in the future.