#1.受保护的属性和方法:有时候在类中的属性或者是方法不想被外界调用,
#但还是可以被外界所调用,那么就叫做受保护的属性或者方法。
#受保护的属性或者方法,使用一个下划线开头:
class Person(object):
def __init__(self):
self._name='luobin'
p = Person()
print(p._name)
#2.私有属性和方法:有时候在类中的属性或者方向不让外界调用,
#那么就可以使用定义成私有属性或者私有方法。
#私有属性或者方法使用两个下划线开头:
class Person(object):
def __init__(self):
#私有属性
self.__name='luobin'
#私有方法
def __run(self):
print('我在跑步')
p = Person()
#以下代码将会报错
p.__run()
print(p.__name)
#3.但是私有属性或方法也不是100%不能访问
#以上方式,可以通过_Person__name来访问,但这样做是不推荐的。
class Person(object):
def __init__(self):
#私有属性
self.__name='luobin'
#私有方法
def __run(self):
print('我在跑步')
p = Person()
#通过以下这种方式可以访问类中的属性和方法,但这种做法我们不推荐
print(p._Person__name)
p._Person__run()
#二.析构函数
#1.析构函数:也即__del__方法,
#只要这个对象在内存中即将被消灭的时候,就会调用这个方法。
class Person(object):
def __del__(self):
print('我即将被消灭了~')
p1 = Person()
python 中面向对象中的访问限制()和析构函数
最新推荐文章于 2022-10-22 15:39:58 发布