温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Jython类中如何实现添加定义类属性及隐藏变量

发布时间:2021-12-17 09:24:33 来源:亿速云 阅读:94 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“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类中如何实现添加定义类属性及隐藏变量”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI