面向对象编程(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()

父类中的私有成员,子类无法继承。

按理说私有成员是无法被外部调用,但如果用一些特殊的语法也可以

posted @ 2021-12-03 18:47  下个ID见  阅读(19)  评论(0)    收藏  举报