class Car():
def __init__(self):
self._seat = None
@property # getter
def seat(self):
return self._seat
@seat.setter # setter
def seat(self, seat):
self._seat = seat
c = Car()
c.seat = 6
print(c.seat)
class Person:
# Constructor
def __init__(self, name, age):
# Since we making getters and setters, we should mangle the varible names to make them "private" by adding 2 underscores.
self.__name = name
self.__age = age
# Getters
def get_name(self):
return __self.name
def get_age(self):
return __self.age
# Setters
def set_name(self, new_name):
self.__name = new_name
def set_age(self, new_age):
self.__age = new_age
class Protective(object):
"""protected property demo"""
#
def __init__(self, start_protected_value=0):
self.protected_value = start_protected_value
#
@property
def protected_value(self):
return self._protected_value
#
@protected_value.setter
def protected_value(self, value):
if value != int(value):
raise TypeError("protected_value must be an integer")
if 0 <= value <= 100:
self._protected_value = int(value)
else:
raise ValueError("protected_value must be " +
"between 0 and 100 inclusive")
#
@protected_value.deleter
def protected_value(self):
raise AttributeError("do not delete, protected_value can be set to 0")
class A():
"""Defines a class A with x and y attribute"""
def __init__(self, x, y):
"""Every instance of A has x and y attributes"""
self.__x = x #private instance attribute x
self.__y = y #private instance attribute y
def GetX(self):
"""Retrieves the x attribute"""
return self.__x
def GetY(self):
"""Retrieves the y attribute"""
return self.__y
def SetX(self, x):
"""sets the x attribute"""
self.__x = x
def SetY(self, y):
"""sets the y attribute"""
self.__y = y