Tag Archives: parent

Instance Inheritance – Python (My Project Cont’d)

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.

class PROJECT:
    def __init__(self, projectnumber, Title=””,Title2=””,Name=”” … ):

is instantiated as newproject = PROJECT()

and I have a POINT (borehole) child class.

class POINT(PROJECT):
    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.

class PROJECT:
    def __init__(self, Title=””,Title2=””,  …more attributes … )

class POINT(PROJECT):
       
    _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)

        return self.__dict__[name]

Leave a comment

Filed under Uncategorized