私有化属性
为了更好的 保存属性安全,即不能随意更改,将属性定义为私有属性,添加一个可调用的方法去访问。
语法:两个下划线开头,不能在类的外部被使用或直接修改。
#使用私有属性的场景
#1、把特定的一个属性隐藏起来,不想让类的外部进行直接使用。
#2、保护这个属性,不想让属性的值随意改变。
#3、保护这个属性,不想让派生类(子类)去继承
class Person:
__hobby='唱歌'
def __init__(self):
self.__name='李四' #加两个下划线,将它私有化,就不能在外部直接访问了。
self.age=13
pass
def __str__(self):
return'{}的年龄是{}'.format(self.__name, self.age)
class Student(Person):
pass
stu=Student()
print(stu.age)
#私有化属性也不能被继承使用
xiaoli=Person()
#print(xiaoli.name)
#在类的外部访问是错误的,不能进行访问。
print(xiaoli)
#1、私有化的【实例】属性不能在外部直接访问,可以在类的内部随意使用。
#2、子类不能继承父类的私有化属性。【只能继承公共的属性和行为】
#3、直接在属性前面加两个下划线,就可以变成私有化了。
私有化方法
私有化方法跟私有化属性概念一样,有些重要的方法,不允许外部调用,防止子类意外重写,把普通的方法设置成私有方法。
私有化方法,即在方法名前面加两个下划线。
私有化方法一般是内部调用,不能继承使用。
Property属性
class Person(object):
def __init__(self):
self.__age=18
pass
def get_age(self):
return self.age
def set_age(self,age):
if age<