On 11/16/05, Ian Bicking <[EMAIL PROTECTED]> wrote:
> Basically this:
>
>    class MyForm(TableForm):
>        foo1 = TextField()
>        foo2 = TextField()
>
> Is exactly equivalent to:
>
>    MyForm = type(TableForm)('MyForm', (TableForm,), {'foo1':
> TextField(), 'foo2': TextField})

this is probably a little too wacky, it turns out. Consider this case:

class TableForm(Subclassable):
    def important_behavior(self):
        print "foo"

TableForm = TableForm()

class MyForm(TableForm):
    def important_behavior(self):
        print "bar"

type(MyForm) -> TableForm
MyForm.important_behavior() -> TypeError (takes 1 argument, 0 given)

Not being able to override behavior would be an evil side effect of it
looking like a class but not actually being a class. There's probably
a way to bind the function to the instance, is there not?

Kevin

Reply via email to