60、Jython高级类特性深度解析

Jython高级类特性深度解析

1. 特殊属性概述

在Jython类中,以双下划线开头和结尾的特殊属性十分丰富,它们是创建具有复杂行为的高度定制化对象的主要手段。使用这些特殊属性并不意味着操作困难或仅适用于Python高手,相反,为类添加特殊属性是应对复杂性的有效方式。例如,通过几个特殊方法就能让对象表现得像列表,或者拦截属性访问,同时在设计、可重用性和灵活性方面获得巨大收益。

1.1 预定义类属性

类和实例隐式地具有某些特殊属性,这些属性在类定义执行或实例创建时自动出现。Jython会包装Java类和实例,使其也具有特殊属性。Jython类有五个特殊属性,而Java类有其中三个。需要注意的是,这些属性都是可读的,但只有部分允许赋值。

为了进一步研究这些特殊属性,我们先定义一个简单的Jython类 LineDatum

# file: datum.py 
import java 
class LineDatum(java.util.Hashtable): 
    """Collects points that lie on a line. 
    Instantiate with line slope and intercept: e.g. LineDatum(.5, 3)""" 
    def __init__(self, slope, incpt): 
        self.slope = slope 
        self.incpt = incpt 
    def addPoint(self, x, y): 
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值