首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Transcrypt覆盖方法

使用Transcrypt覆盖方法
EN

Stack Overflow用户
提问于 2017-12-16 23:15:39
回答 0查看 60关注 0票数 1

在Python中,覆盖方法是有效的,例如:

代码语言:javascript
复制
class A():
    def original(self):
        print("original")

def alternative(self):
    print("alternative")

A.original = alternative
a = A()
a.original()

它将打印alternative。但是在转换为Javascript之后,你会得到错误:Uncaught TypeError: Cannot set property original of function...

当然,这与它被转换为:

代码语言:javascript
复制
var A = __class__ ('A', [object], {
    __module__: __name__,
    get original () {return __get__ (this, function (self) {
        print ('original');
    });}
});

其中,original是不能以这种方式覆盖的属性。

有解决这个问题的办法吗?在某些情况下,拥有这种行为是很有用的。诚挚的问候

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47847067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档