常用Jython方法介紹:init和del
Jython方法之init
__init__ 方法起 實例構造函數 的作用。只要創建實例就調用它。應當對所有類定義這個方法。方法 __init__ 可以有參數。與 C++ 或者 Java 語言不同,在 Jython 中,所有實例變量(也稱為屬性或者字段)是由賦值動態創建的。它們應當在 __init__ 中定義(即給它賦值)。這保證會定義它們以供后面的方法使用。下面是一些例子:
- class Class1:
- def __init__ (self): # no arguments
- self.data = [] # set implicit data
- class Class2:
- def __init__ (self, v1, v2): # 2 required arguments
- self.v1 = v1 # set data from parameters
- self.v2 = v2
- class Class3:
- def __init__ (self, values=None): # 1 optional argument
- if values is None: values = []
- self.values = values # set data from parameter
Jython方法之del
如果在 __init__ 方法(或者任何其他方法)中分配了任何資源,那么需要保證在釋放(deallocate)對象之前釋放它們。完成這一任務最好的方法是使用 __del__ 方法。__del__ 方法是在垃圾收集器釋放對象之前調用的。還應當提供一個可以直接調用的清理方法(通常稱為 close、destroy 或者 dispose)。下面是一個例子:
- class Class:
- def __init__ (self, db):
- self.connection = db.getConnection() # establish a connection
- self.connection.open()
- def __del__ (self): # cleanup at death
- self.close()
- def close(self): # cleanup
- if not self.connection is None and self.connection.isOpen():
- self.connection.close() # release connection
- self.connection = None
以上,介紹了兩個常用的Jython方法。
【編輯推薦】