您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Jython類中如何實現添加定義類屬性及隱藏變量”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Jython類中如何實現添加定義類屬性及隱藏變量”這篇文章吧。
Jython類——添加類實例的屬性
在 Jython 中(與 Java 語言不同),客戶可以在實例中添加 字段 (也稱為 屬性)。這只改變一個實例。要向實例添加字段(x),只要在這個實例上設置新值,如下所示:
x.attr1 = 1 x.attr2 = 2 : x.attrN = n
Jython類——定義類屬性和方法
所有在一個類中綁定的變量都是 類屬性 (或者變量)。所有在類中定義的函數都是 方法。方法以類的一個實例,一般稱為 self,作為***個(也許是惟一的)參數。例如,要定義一些類屬性和方法,可以輸入:
class MyClass: attr1 = 10 # class attributes attr2 = "hello" def method1(self): print MyClass.attr1 # reference the class attribute def method2(self, p1, p2): print MyClass.attr2 # reference the class attribute def method3(self, text): self.text = text # instance attribute print text, self.text # print my argument and my attribute method4 = method3 # make an alias for method3
注意在類中,應當用類名限定所有對類屬性的引用(例如 MyClass.attr1),用 self 變量限定所有對實例變量的引用(例如 self.text)。在類外部,應當用類名限定所有對類屬性的引用(例如 MyClass.attr1),或者用實例限定對實例的引用(例如 x.attr1)和所有對實例屬性的引用(例如 x.text,其中 x 是類的一個實例)。
Jython類——隱藏變量
要實現數據隱藏,常常需要創建 “private”變量,它只能被類本身訪問。 Jython 提供了一個命名規范,它使從類外部訪問屬性和方法很困難。如果聲明以下形式的名字: __xxx 或者 __xxx_yyy (前面有下劃線),那么 Jython 解析器將自動拆分(mangle)所聲明的名字(即加上類名),從而創建隱藏的變量。例如:
class MyClass: __attr = 10 # private class attribute def method1(self): pass def method2(self, p1, p2): pass def __privateMethod(self, text): self.__text = text # private attribute
注意與 C++ 和 Java 語言不同,對實例變量的所有引用都必須用 self 限定,不會隱式使用 this。
以上是“Jython類中如何實現添加定義類屬性及隱藏變量”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。