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