python - Inheritance and customisation of class -
i define 1 class device lot of subclasses example microcontroller.
device has 2 mode , "simulated" mode.
i trying code device class such has if microcontroller in simulated mode when print performed should prefix string [simulated]:
print "hey !!" > [simulated] hey!! i don't know how start , if it's possible overload print.
you can implement logger class, , use logging. can dome object injection replace type of logger when want. example:
class logger: def __init__(self, prefix): self.prefix = prefix def log(self, msg): print('[{}] {}'.format(self.prefix, msg)) class base: def set_logger(self, logger): self.logger = logger class test(base): def do_something(self): self.logger.log('hey !!') test = test() test.set_logger(logger('simulated')) test.do_something() test.set_logger(logger('very real')) test.do_something() for example:
[simulated] hey !! [very real] hey !!
Comments
Post a Comment