#Python OOPS Getter / Setter
class Person(object):
def __init__(self, p_name=None):
self._name = p_name
@property
def name(self):
return self._name
@name.setter
def name(self, new_name):
if type(new_name) == str: #type checking for name property
self._name = new_name
else:
print 'Error: Invalid type to set'
@name.deleter
def name(self):
del self._name
print '############# Getter/Setter'
p = Person('Mike')
print(p.name) #Mike
p.name = 'George' #Grorge
print(p.name)
p.name = 2.3 # Causes an exception, Error: Invalid type to set
print(p.__dict__) #{'_name': 'George'}
del p.name
print(p.__dict__) #{}
class Person(object):
def __init__(self, p_name=None):
self._name = p_name
@property
def name(self):
return self._name
@name.setter
def name(self, new_name):
if type(new_name) == str: #type checking for name property
self._name = new_name
else:
print 'Error: Invalid type to set'
@name.deleter
def name(self):
del self._name
print '############# Getter/Setter'
p = Person('Mike')
print(p.name) #Mike
p.name = 'George' #Grorge
print(p.name)
p.name = 2.3 # Causes an exception, Error: Invalid type to set
print(p.__dict__) #{'_name': 'George'}
del p.name
print(p.__dict__) #{}
No comments:
Post a Comment