目录
【Python学习】Python学习20- 面向对象(1)
- 前言
- 类属性与方法
- 类的私有属性
- 类的私有方法
- 实例
- 单下划线、双下划线、头尾双下划线说明:
- 参考
文章所属专区 Python学习
前言
本章节主要说明Python的面向对象的处理最后一部分。
类属性与方法
类的私有属性
__private_attrs:由两个下划线开通,声明该属性为私有不能在类的外部被使用或直接访问。在类内部调用时 self.__private_attrs
类的私有方法
__private_method:两个下划线开头,声明该方法为私有方法,不能在类的外部调用。self.__private_methods
实例
class Child(Parent):
__private__Param = 0 #类私有变量
def __private__Method(self):
#类私有方法
print "child __private__Method"
childParam = 100
def __init__(self):
print "child __init__"
def childMethod(self):
print "child method"
def parentMethod(self, param):
print "子类重写父类方法 获取子类参数:",param
c = Child() #实例化子类Child
# c.childMethod() #调用子类方法
# #c.parentMethod() #调用父类方法
# c.setParam(100) #调用父类方法设置参数
# c.getParam() #用父类方法获取参数
# c.parentMethod(1) #调用重写后的父类方法
print c.__private__Param
print c.__private__Method
访问类的私有参数,私有方法会报错
单下划线、双下划线、头尾双下划线说明:
foo: 定义的是特殊方法,一般是系统定义名字 ,类似 init() 之类的。
_foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。
参考
菜鸟教程-Python
给个三连吧 谢谢谢谢谢谢了