howto overload with a NOP (empty statement)
robert
no-spam at no-spam-no-spam.invalid
Sat Jan 6 07:03:34 EST 2007
Stef Mientki wrote:
> How should I overload / disable a method ?
> In the example below I have defined the class "Power_Supply", derived
> from baseclass "device".
> The baseclass has a method "execute", which will be implemented in most
> derived classes, but not in all.
> Now apparently it's not allowed to overload a method with an empty
> statement.
> I could write a nonsense dummy statement, like "A= 3", but isn't there
> another way ?
>
> thanks, Stef Mientki
>
> class device:
> def execute (self):
> print 'execute not yet implemented for', self.Name
>
>
> class Power_Supply (device):
> def execute (self): ;
class device:
def execute (self):
raise NotImplementedError('virtual: should do this and that')
This NotImplementedError virtual method scheme will also be detected by pychecker in order to warn correctly: that classes of actual instances have to override all open virtuals.
Robert
More information about the Python-list
mailing list