面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。
类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。
下面就来总结一下学习后的解决方案。
1,使用2个下划线前缀隐藏属性或者方法。 __xxx
#!/usr/bin/python3
#-*- coding:utf-8 -*-
class Student:
def __init__(self,name,score):
self.name = name
self.__score = score #将score隐藏起来,使之仅在类内部可用。
def __show(self): #一个隐藏的方法,同样只在内部可用
print(self.name,self.__score)#使用被隐藏的属性__score
def Show(self):
self.__show() #注意被隐藏方法的调用方式。
def main():
he = Student('Bob',