封装
# 类的三大特性:继承,封装,多态。
# 封装?
class A:
def __init__(self,name):
self.name = name
obj = A('二狗')
# 广义的封装:就是将一些内容放到一个'容器'中.
# 狭义的封装:私有。
# 类的结构:
class B: country = 'China' # 静态变量(属性,字段) __name = 'alex' # 私有静态变量 def func(self): # 动态普通方法 pass def __func(self): # 私有方法 pass def __init__(self,name,age): # 特殊方法:双下方法 self.name = name self.__age = age # 私有对象属性 @property # 属性 def f1(self): pass @classmethod # 类方法 def func2(self): pass @staticmethod # 静态方法 def func3(self): pass
# 私有成员:私有变量,私有对象属性,私有方法
# 私有成员:类外面不可以访问,派生类不可以访问,类内面可以访问
class A: country = 'China' # 静态变量(属性,字段) __name = 'alex' # 私有静态变量 def __init__(self, name, age): self.name = name self.__age = age def func(self): # 动态普通方法 print(self.__name) def __func(self): # 私有方法 pass class B(A): def func2(self): print(self.__name) obj = A('二狗', 18) print(obj.country) # 类外面可以访问 print(obj.__name) # 私有:类外面不可以访问 obj.func() # 私有:类内面可以访问 o1 = B('脸哥', 25) o1.func2() # 私有:派生类不可以访问 obj = A('二狗', 18) print(A.__dict__) print(obj._A__name) # 这样可以访问,但是千万不要这样访问,这个是python犯懒了,c语言中私有成员在类外面是不能访问的。
作者:wangkaiok —— 小菜鸟111
出处:http://www.cnblogs.com/wangkaiok/
本文版权归作者和博客园共有,但未经作者同意禁止转载,转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。