首页 > 其他 > 详细

私有化

时间:2020-02-14 13:38:32      阅读:43      评论:0      收藏:0      [点我收藏+]
# 私有化
# 封装的一个概念:1.私有化你的属性部分 2.定义公有的set和get方法
# __属性就是将一个属性私有化,私:专属于,有:出了这个结构体,谁也访问不了。只限制于类中


class Student:
# __age = 18 # 类属性私有化

def __init__(self, name, age):
self.__name = name
self.__age = age
self.__socre = 59

# get:是为了取值

# 定义成函数还有一个好处就是可以在函数里面加各种各样的判断,变成了更加灵活
def getAge(self):
return self.__age

# set:是为了赋值

def setAge(self, age):
self.__age = age

def __str__(self):
return ‘姓名是:{}年龄是:{}考试分数是:{}‘.format(str(self.__age), self.__name, self.__socre)


a = Student(18, ‘zzh‘)
print(a)
a.setAge(200)
print(a)
print(a.getAge())
# 需要定义一个公有的set和get,不然值无法改变了

# 在开发中,我们经常看到的一些私有化的处理
# 装饰器来完成 @property


class Student:
def __init__(self, name, age):
self.__name = name
self.__age = age

@property
def age1(self):
return self.__age
#这就好比先要有set再有get一样
@age1.setter
def age1(self, age):
self.__age = age

# def setAge(self, age):
# if 0 < age < 100:
# self.__age = age
# else:
# print(‘年龄不正确‘)
#
# def getAge(self):
# return self.__age

def __str__(self):
return ‘姓名是{}年龄是{}‘.format(self.__name, self.__age)


a = Student(‘zzh‘, 55)
a.age1 = 50
print(a.age1)
# 私有化赋值
# a.setAge(30)
# print(a.getAge())
# 如何让外界在使用的时候和原来是一样的 这边就需要用到装饰器

私有化

原文:https://www.cnblogs.com/SmartCat994/p/12306937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!