Jython中的对象
Jython是一种 面向对象 的语言,它完全支持面向对象编程。Jython定义的对象有以下特性:
1, 身份:每个对象都必须是独特的,并且可以对其进行测试。Jython支持 is 和 is not 测试以实现这一目的。
2,状态:每个对象都必须可以存储状态。Jython提供了 属性 (也称为 字段 或者 实例变量)以达到这一目的。
3,行为:每个对象都必须可以操纵其状态。为此,Jython提供了 方法。
注意内置函数 id(object) 返回一个惟一整数身份值。这样,表达式 x is y 就等同于 id(x) == id(y) 。
Jython中的对象——OOP 支持
Jython包含了以下功能以支持面向对象编程:
基于类创建对象:Jython类 是用于创建对象的模板。 对象 是具有关联行为的数据结构。
多态继承:Jython支持 单继承 和 多继承。所有 Jython实例方法都是 多态的 (或者 虚拟的(virtual))并且可以被子类覆盖。
封装隐藏数据:Jython允许(但是不要求)隐藏属性,因而在类以外只能通过类的方法访问。类实现了修改数据的函数(称为方法)。
Jython中的对象——定义类
定义类就像定义一个模块,在其中可以定义变量和函数。与 Java 语言不同,Jython允许在每个源文件(或者模块)中定义任意数量的 public 类。因此在 Jython中,模块很像 Java 语言中的包。
在 Jython中,我们使用 class 语句定义类。class 语句格式如下:
- class name ( superclasses ): statement
或者
- class name ( superclasses ):
- assignment
- :
- function
- :
在定义类时,可以选择提供零个或者多个 赋值 语句。它们创建这个类的所有实例所共享的类属性。还可以提供零个或者多个 函数 定义。它们创建方法。父类列表是可选的。我们将在本教程稍后讨论父类。
类名在同一范围(模块、函数或者类)中应当是惟一的。类名实际上是一个绑定到类正文的变量(类似于所有其他赋值)。事实上,可以定义多个变量引用同一个类。
Jython中的对象——创建类实例
类用于包含类(或者共享的)属性或者创建类实例。要创建类的实例,只要把这个类当成函数调用。不需要像在 C++ 或者 Java 语言中那样使用 new 操作符。例如,对于类
- class MyClass:
- pass
下面的语句创建一个实例:
- x = MyClass()
【编辑推荐】