Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
java set特性_java的get和set方法作用,希望能够帮助你!!!。
# __author: "ZXYang"
# date: 2020/12/15
"""
__setattr__:给对象设置属性时自动调用该方法
封装:【 限制属性类型的添加 】
"""
class Fun(object):
__slots__ = ['name', 'age', 'gender']
def __setattr__(self, key, value):
if key == 'name':
if isinstance(value, str):
super().__setattr__(key, value)
else:
raise AttributeError('属性错误: name需要类型是str', '不能是{}'.format(type(value)))
if key == 'age':
if isinstance(value, int):
super().__setattr__(key, value)
else:
raise AttributeError('属性错误: age需要类型是int', '不能是{}'.format(type(value)))
if key == 'gender':
if isinstance(value, str):
super().__setattr__(key, value)
else:
raise AttributeError('属性错误: gender需要类型是str', '不能是{}'.format(type(value)))
f = Fun()
# f.name = 111
# print(f.name)
# AttributeError: ("属性错误,name需要", "不能是")
# f.age = '11'
# print(f.age)
# AttributeError: ('属性错误: age需要类型是int', "不能是")
# f.gender = 11
# print(f.gender)
# AttributeError: ('属性错误: gender需要类型是str', "不能是")
f.name = 'li'
print('name:', f.name)
# li
f.age = 11
print('age:', f.age)
f.gender = 'man'
print('gender:', f.gender)
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。