![]() |
1
1
感谢Joel的最低限度的实现。我发现剩下的问题是缺少对父级的初始化,因为我没有找到初始化它的通用方法,所以我需要在list/dict的情况下检查属性,并相应地将初始化值添加到父级。 添加到代码中应该可以使其适用于列表/dicts:
不幸的是,我们需要逐个添加,但这可以按预期工作。 写上述内容的一种稍微不那么冗长的方法是:
|
![]() |
2
1
正如jasonharper评论的那样,
问题特别来自于对这两个属性重复使用相同的名称,正如您所说,这非常令人困惑。所以,不要这么做。 但仅为了它的利益,您可以尝试用一个对象来代理属性的值,该对象在调用时会返回原始MyClass实例,使用实际的setter来执行您想要的任何计算,还可以将任意属性转发给代理的值。
今天,鸭子类型会滥用你,迫使你将各种神奇的方法委托给代理类中的代理值,直到你想要注入的糟糕的代码库对这些值的嘎嘎声感到满意。 |
![]() |
3
0
这是Guillerme答案的最小实现,它更新了方法,而不是单独的可修改参数:
这和原始答案都适用于单个值,但列表和字典似乎是空的,而不是预期值,我不知道为什么这里需要帮助:
|
![]() |
Eris · 纯虚拟成员有什么优势吗(除了他们可能防止的人为错误)? 2 年前 |
![]() |
AJA SMBAT · 我在获取列表而不是绑定方法时遇到问题 2 年前 |
![]() |
KiraHoneybee · 具有构造函数参数的模板化类 2 年前 |
![]() |
amirreza870 · Python OOP-更改类文本 2 年前 |
![]() |
Rocket Procd · 获取活动类实例的数量 2 年前 |
![]() |
cred · 为什么我请求的变量在从另一个类调用时显示为0.0? 2 年前 |
![]() |
Oliver Guy · 一个类的所有实例共享相同的值 2 年前 |