溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Jython類中如何實現(xiàn)添加定義類屬性及隱藏變量

發(fā)布時間:2021-12-17 09:24:33 來源:億速云 閱讀:101 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Jython類中如何實現(xiàn)添加定義類屬性及隱藏變量”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Jython類中如何實現(xiàn)添加定義類屬性及隱藏變量”這篇文章吧。

Jython類——添加類實例的屬性

在 Jython 中(與 Java 語言不同),客戶可以在實例中添加 字段 (也稱為 屬性)。這只改變一個實例。要向?qū)嵗砑幼侄危▁),只要在這個實例上設(shè)置新值,如下所示:

x.attr1 = 1 x.attr2 = 2     :  x.attrN = n

Jython類——定義類屬性和方法

所有在一個類中綁定的變量都是 類屬性 (或者變量)。所有在類中定義的函數(shù)都是 方法。方法以類的一個實例,一般稱為 self,作為***個(也許是惟一的)參數(shù)。例如,要定義一些類屬性和方法,可以輸入:

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

注意在類中,應(yīng)當(dāng)用類名限定所有對類屬性的引用(例如 MyClass.attr1),用 self 變量限定所有對實例變量的引用(例如 self.text)。在類外部,應(yīng)當(dāng)用類名限定所有對類屬性的引用(例如 MyClass.attr1),或者用實例限定對實例的引用(例如 x.attr1)和所有對實例屬性的引用(例如 x.text,其中 x 是類的一個實例)。

Jython類——隱藏變量

要實現(xiàn)數(shù)據(jù)隱藏,常常需要創(chuàng)建 “private”變量,它只能被類本身訪問。 Jython 提供了一個命名規(guī)范,它使從類外部訪問屬性和方法很困難。如果聲明以下形式的名字: __xxx 或者 __xxx_yyy (前面有下劃線),那么 Jython 解析器將自動拆分(mangle)所聲明的名字(即加上類名),從而創(chuàng)建隱藏的變量。例如:

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類中如何實現(xiàn)添加定義類屬性及隱藏變量”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI