# What is the meaning of @Property inheritance

**URL:** <https://forum.codewithmosh.com/t/what-is-the-meaning-of-property-inheritance/7077>\
**Category:** Python\
**Created:** [August 30, 2021, 7:03pm UTC](https://forum.codewithmosh.com/t/what-is-the-meaning-of-property-inheritance/7077 "2021-08-30T19:03:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrasx853](https://avatars.discourse-cdn.com/v4/letter/a/5f8ce5/32.png) [@andrasx853](https://forum.codewithmosh.com/u/andrasx853)\
**Post date:** [August 30, 2021, 7:03pm UTC](https://forum.codewithmosh.com/t/what-is-the-meaning-of-property-inheritance/7077/1 "2021-08-30T19:03:28Z")

</div>

Hi people,

I have just facing an issue I found that @property inheritance in Python is so complicated and it is not worth to type it. As far as I understand we can inherite all members easily except properties.

> **[property inheritance in python 3 (getter & setter) ($31) · Snippets ·...](https://gitlab.gnome.org/GNOME/gnome-music/-/snippets/31)**
>
> Welcome to GNOME’s integrated development platform, powered by GitLab

I am creating a general explanation about class members but Geometry.width dows not work as poroperty, Python think it is an argument. :

```auto
import Rhino
import scriptcontext
import rhinoscriptsyntax as rs

# Python 2.7 does not support function overloading.
# Alternatively use this package: https://pypi.org/project/multipledispatch/

class Geometry(object):
    # Constructor is not required
    # Geometry properties: Width,Height,Name,ID,Colour,Fill colour etc.
    @property
    def width(self): # Property - Width
        return self._width
    @width.setter
    def width(self, value):
        self._width = value
    @property
    def heigh(self): # Property - Height
        return self._height
    @width.setter
    def heigh(self, value):
        self._height = value
    @property
    def name(self,string): # Property - Name
        string = "Geometry"
    @width.setter
    def heigh(self, value):
        self._height = value
    # Functions:
    def position(self): # Function - Position
        position = rs.GetPoint ( "Position of the geometry", None, None, False )
    def info(self): # Function - Info
        text = "This is a two dimensional object."
        print text
#
class Point(Geometry):
    def Draw(self,XYZ):
        pass
class Line(Geometry):
    def Draw(self, Point1, Point2):
        pass
class Oval(Geometry):
    def Draw(self):
        plane = rs.WorldXYPlane()
        rs.AddEllipse ( plane, Geometry.width, Geometry.height )
class Rectangle(Geometry):
   def Draw(self):
       pass
class Triangle(Geometry):
    def Draw(self):
        pass

```
