Kyle T. Jones wrote:
Ethan Furman wrote:
chad wrote:
Let's say I have the following....

class BaseHandler:
    def foo(self):
        print "Hello"

class HomeHandler(BaseHandler):
    pass


Then I do the following...

test = HomeHandler()
test.foo()

How can HomeHandler call foo() when I never created an instance of
BaseHandler?

You don't need to create an instance of BaseHandler.  You have the
class, Python knows you have the class -- Python will look there if the
subclasses lack an attribute.

~Ethan~


Really? That's not at all how I thought it worked in Python (post-instantiation referencing of class and superclass code...)

I'm not sure exactly what you're asking/stating, but does this help?

8<---Py 3.2 code------------------------------------------
class BaseClass():
    def bFoo(self):
        print("Base foo here!")

class NormalClass(BaseClass):
    def nFoo(self):
        print("Normal foo here.")

class EnhancedClass(NormalClass):
    def eFoo(self):
        print("Enhanced foo comin' at ya!")

class EnrichedClass(EnhancedClass):
    def rFoo(self):
        print("Am I glowing yet?")

test = EnrichedClass()
test.bFoo()
test.nFoo()
test.eFoo()
test.rFoo()

def newFoo(self):
    print("Ha!  You've been replaced!")

BaseClass.bFoo = newFoo

test.bFoo()
8<----------------------------------------------------------
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to