面向对象编程(3)
属性其实是由绑定方法 + 特殊装饰器 组合创造出来的,以后在调用方法时可以不加括号
关于属性的编写有两种方式:
- 方式一,基于装饰器
- 方式二,基于定义变量
由于属性和实例变量的调用方式相同,所以在编写时需要注意:属性名称 不要 实例变量 重名。
如果真的想要在名称上创建一些关系,可以让实例变量加上一个下划线。
1.5 成员修饰符
Python中成员的修饰符就是指的是:公有、私有。
- 公有,在任何地方都可以调用这个成员。
- 私有,只有在类的内部才可以调用改成员(成员是以两个下划线开头,则表示该成员为私有)。
class Base(object):
def __data(self):
print("base.__data")
def num(self):
print("base.num")
self.__data() # 不允许执行父类中的私有方法
class Foo(Base):
def func(self):
self.num()
obj = Foo()
obj.func()
父类中的私有成员,子类无法继承。
按理说私有成员是无法被外部调用,但如果用一些特殊的语法也可以
浙公网安备 33010602011771号