Jython 类、实例与继承深度解析
1. 封装、抽象与信息隐藏
1.1 基本概念
封装是将多个实体组合成一个新的、通常为更高级的实体,如类。类将数据和相关功能封装到一个对象中,同时通过组织功能简化接口并隐藏实现细节,提供抽象。信息隐藏则是为了简化,只向用户展示他们需要看到的内容。
Java 使用如 private
和 protected
等属性权限修饰符来加强抽象,就像设置了“电子围栏”。而 Jython 的隐私机制则较为开放,与 Java 形成对比。
1.2 Jython 隐私机制
- 单下划线约定 :以一个下划线开头的属性表示类内部使用,但这只是约定,并非强制。例如,可以随意调用这样的属性,但需自行承担风险。
- 双下划线与名称修饰 :以两个下划线开头的 Jython 变量通过名称修饰(name mangling)来增强隐私。例如,类
A
中的变量__var
会被修饰为_A__var
。虽然有一定隐私性,但仍可通过修饰后的名称访问。示例代码如下:
>>> class A:
... __classVar = "A class variable designated as private"
... def __init__(self):
..