链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
成员修饰符:公有、私有   ---- 默认都是公有成员;要定义私有成员,就在成员签名加'__',如:__name
公有:对象可以直接进行访问
私有:只能在类的内部进行访问,类的外部不能直接访问,只能通过类内部定义方法来访问


'''

#下面是对私有字段的讲解,私有方法也是同样的道理

class Foo:

    __cc = 123

    def __init__(self,name,age):
        self.name = name   #公有字段
        self.__age = age   #私有字段

    def show_age(self):
        print(self.__age)

    def s1(self):
        print(Foo.__cc)


class Bar(Foo):

    def f2(self):
        print(self.__age)

# bar = Bar('alex',12)
# bar.f2()   #类中的私有字段是不能被继承的,在子类中访问父类的私有字段会报错
# bar.show_age()  #子类的方法不能访问父类的私有字段,但是可以用父类的方法来访问父类的私有字段

obj = Foo('alex',20)
print(obj.name)   #访问公有字段

#print(obj.__age)  #对象直接访问私有会报错
#print(obj._Foo__age)   #私有字段也可以这样强制访问,但是最好不要用
obj.show_age()   #只能通过类中的show_age方法间接访问私有字段age

# print(Foo.__cc)   #私有静态字段也不能在外部访问
obj.s1()  #私有静态字段也是通过方法间接进行访问的

 

posted on 2016-11-07 13:54  链条君  阅读(122)  评论(0编辑  收藏  举报