Python 使用其他类的方法
如果我有两个类,其中一个类有一个我想在另一个类中使用的函数,我应该使用什么才能不必重写我的函数?
If I have two classes, and one of them has a function that I want to use in my other class, what do I use so that I don't have to rewrite my function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有两种选择:
示例:
或者使用继承(如果合适):
There are two options:
Example:
Or use inheritance, if appropriate:
有几种方法:
以下示例使用每种方法来共享打印成员的函数。
继承
委托
超级偷偷摸摸的委托
该解决方案基于这样一个事实:Python 成员函数没有什么特别之处;您可以使用任何函数或可调用对象,只要第一个参数被解释为类的实例即可。
或者,实现委托的一种类似的偷偷摸摸的方法是使用可调用对象:
There are several approaches:
The following examples use each for sharing a function that prints a member.
Inheritance
Delegation
Super-sneaky Delegation
This solution is based off of the fact that there is nothing special about Python member functions; you can use any function or callable object so long as the first parameter is interpreted as the instance of the class.
Or, a similarly sneaky way of achieving delegation is to use a callable object:
您创建一个类,两个类都继承自该类。
存在多重继承,因此如果它们已经有父级,那么这不是问题。
you create a class from which both classes inherit.
There is multiple inheritance, so if they already have a parent it's not a problem.