首页 > temp > python入门教程 >
-
学习python第九天 封装,私有属性,私有方法,多态,
封装:被认为是一个类的保护屏障。防止该类的代码和数据被外部类定义的代码随机访问
比如狗只有被打了才会减少生命值,但是外部也可以直接修改。为了防止外部直接修改类中的数据,所以需要封装
封装的话用到了私有属性,之前文章写的__init__中的就是私有属性写错了。应该是实例属性。封装的话用到的才是私有属性。例如:
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
self.__live = 100 #属性名前加两个下划线,代表把这个实例属性变成了私有属性。这样子在外面是无法更改也无法访问的。但是私有属性在内部是可以访问到。
def __breath(self): #定义私有方法,其性质和私有属性一样
print("私有方法")
def attack(self):
self.breath() #内部调用私有方法
print(self.__live) #只有用类中的函数才能访问私有属性。外部只读不能改
return self.__live
a = Person("jack",12)
a._Person__breath() # 强行外部调用私有方法。 规则:实例.类名和私有方法名()
a._Person__live = 50 #强行外部修改私有属性
多态用的比较少,我就不写了。主要是懒
来源:https://www.cnblogs.com/xiaoyuheng/p/14617225.html