python 中面向对象中的访问限制()和析构函数


#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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值