史上最全Python面向对象编程(7)
发布时间:2019-03-26 14:51 所属栏目:21 来源:浪子燕青
导读:13. author作者信息 __author__=Jack defshow(): print(__author__) show() 14. slots Python作为一种动态语言,可以在类定义完成和实例化后,给类或者对象继续添加随意个数或者任意类型的变量或方法,这是动态语言
13. author作者信息
14. slots Python作为一种动态语言,可以在类定义完成和实例化后,给类或者对象继续添加随意个数或者任意类型的变量或方法,这是动态语言的特性。例如:
但是!如果我想限制实例可以添加的变量怎么办?可以使slots限制实例的变量,比如,只允许Foo的实例添加name和age属性。
需要提醒的是,slots定义的属性仅对当前类的实例起作用,对继承了它的子类是不起作用的。想想也是这个道理,如果你继承一个父类,却莫名其妙发现有些变量无法定义,那不是大问题么?如果非要子类也被限制,除非在子类中也定义slots,这样,子类实例允许定义的属性就是自身的slots加上父类的slots。 成员保护与访问机制有些对象你不想外部访问,即使是通过调用类对象也无法访问,那就请认真学完本章节。 私有成员
运行结果:
如果要在类中调用这个私有成员,可以这么用
运行结果:
(编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读