Jython 类、实例与继承全解析
1. 封装、抽象与信息隐藏
封装是将多个实体组合或聚合,以产生一个新的、通常是更高级的实体,比如类。类将数据和相关功能封装到一个对象中,同时通过组织功能简化接口并隐藏实现细节,提供抽象。信息隐藏则是为了简化,只向用户展示他们需要看到的内容。
Java 使用像 private
和 protected
这样的属性权限修饰符来加强抽象,这类似于设置“电围栏”。而 Jython 的隐私机制则更为开放,与 Java 形成对比。
在 Jython 中,以一个下划线开头的属性是类内部的,但这只是一种约定,并非强制。以两个下划线开头的变量通过名称修饰(name mangling)来鼓励程序员尊重其隐私。例如:
>>> class A:
... __classVar = "A class variable designated as private"
... def __init__(self):
... self.__instVar = "An instance variable designated as private"
... def __privateMethod(self):
... print "This method is designated as private."
...
>>> inst = A()
>>> inst._A__classVar
'A class variab