Hello friends,

An instance of my subclass doesn't invoke its superclass method, except when
it is referenced
directly.

Here is what I mean:

>>> class A(object):
...     def log(self, module):
...             return str('logged')
...

>>> class B(A):
...     def __init__(self, module):
...             self.module = A().log(module)
...
>>> c = B('system')
>>> # I expect 'logged' to be printed here
>>> print c.log('system') # why do I have to do this?
>>> 'logged'

Why do I have to make a call to c.log before log() method can be invoked?

My reasoning is such that since I have passed the log() method to B's
constructor, an instance
of B should invoke A's log() method.

What could I be missing in class A or B to have this working as expected?
-- 
Odeyemi 'Kayode O.
http://www.sinati.com. t: @charyorde
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to