Skip to content

Instantly share code, notes, and snippets.

@fecub
Last active January 25, 2016 15:06
Show Gist options
  • Save fecub/df5d33829588414fb5d9 to your computer and use it in GitHub Desktop.
Save fecub/df5d33829588414fb5d9 to your computer and use it in GitHub Desktop.
inheritance and property in python
class xy(object):
"""docstring for xy"""
def __init__(self, x, y):
self.x = x
self.y = y
@property
def x(self):
return self.__x
@x.setter
def x(self, x):
if x < 0:
self.__x = 0
elif x > 1000:
self.__x = 1000
else:
self.__x = x
@property
def y(self):
return self.__y
@y.setter
def y(self, y):
if y < 0:
self.__y = 0
elif y > 1000:
self.__y = 1000
else:
self.__y = y
def calculatexy(self):
return self.__x + self.__y
class ClassCheck(xy):
"""docstring for ClassCheck"""
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
@property
def z(self):
return self.__z
@z.setter
def z(self, z):
if z < 0:
self.__z = 0
elif z > 1000:
self.__z = 1000
else:
self.__z = z
def calculatexyz(self):
print self.calculatexy() + self.__z
if __name__ == '__main__':
ctest = ClassCheck(10001, 1001,20)
print(ctest.x,ctest.y,ctest.z)
ctest.calculatexy()
ctest.calculatexyz()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment