What puzzled me at first was how to not only make a class inherit attributes from a parent class but how to have an instance of a class inherit the instantiated attribute data from a parent.
EXAMPLE (also see last post):
I have a PROJECT parent class.
def __init__(self, projectnumber, Title=””,Title2=””,Name=”” … ):
is instantiated as newproject = PROJECT()
and I have a POINT (borehole) child class.
def __init__(self, name=””, depth=”” ….):
Now, I would like to create boreholes, i.e. instantiate the POINT class, for this project and have each POINT instance inherit not only the PROJECT attributes but the information for the object newproject.
I found the solutiom here on Stackoverflow.com (great site !). And after adapting it to my project, I came up with his.
def __init__(self, Title=””,Title2=””, …more attributes … )
_inherited = [‘Title’,’Title2′,’Name’ …more attributes … ]
def __init__(self, project, name):
self._parent = project
self.name = name
def __getattr__(self, name ):
if name in self._inherited:
return getattr(self._parent, name)