#!/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() #私有静态字段也是通过方法间接进行访问的
关注我的公众号,不定期推送资讯
本文来自博客园,作者:链条君,转载请注明原文链接:https://www.cnblogs.com/MacoLee/articles/6038572.html