Jython 类、实例与继承的深入解析
1. 封装、抽象与信息隐藏
1.1 概念对比
在软件开发中,封装是将多个实体组合成一个新的、更高级的实体,如类。类将数据和相关功能封装到一个对象中,同时通过组织功能简化接口并隐藏实现细节,提供抽象。Java 等语言通过 private
和 protected
等属性权限修饰符来强化抽象,可类比为“电围栏”,严格限制访问。而 Jython 的隐私机制则较为开放,与 Java 形成鲜明对比。
1.2 Jython 的隐私约定
在 Jython 中,以一个下划线开头的属性通常被视为类内部使用,但这只是约定,并非强制。例如:
class A:
_internal_var = "Internal variable"
以两个下划线开头的属性则通过名称修饰(name mangling)来增强隐私性。Jython 会在属性名前添加下划线和类名,如类 A
中的 __var
会被修饰为 _A__var
。示例如下:
class A:
__classVar = "A class variable designated as private"
def __init__(self):
self.__instVar = "An instance varia