Steven Bethard wrote: > Yep. The 'self' passed to __finalize__ is still an instance of the > same class (e.g. BufferedWriter or MyWriter). So inheritance works > normally:
However, if the overridden method uses any attributes not mentioned in the original __finalattrs__, they will need to be added to it somehow. It might be useful if the metaclass gathered up the contents of __finalattr__ from the class and all its base classes. Then a class could just list its own needed attributes without having to worry about those needed by its base classes. This also suggests that some care will be needed when overriding methods of a class that uses this recipe. You need to know whether the method can be called from the finalizer, so you can be sure to include the appropriate attributes in __finalattrs__. -- Greg _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com