返回介绍

为什么要使用运算符重载

发布于 2024-01-29 22:24:15 字数 558 浏览 0 评论 0 收藏 0

作为一名类的设计者,你可以选择使用或不使用运算符重载。你的抉择取决于有多想让对象的用法和外观看起来更像内置类型。就像前边提到的那样,如果省略运算符重载方法,并且不从超类中继承该方法,实例就不支持相应的运算;如果试着使用这个实例进行运算,就会抛出异常(或者使用标准的默认值)。

坦白地讲,只有在实现本质为数学的对象时,才会用到许多运算符重载方法。例如,向量或矩阵类可以重载加法运算符,但员工类可能就不用。就较简单的类而言,可能根本不会用到重载,而应该利用明确的方法调用来实现对象的行为。

另外,如果需要传递用户定义的对象给预期的内置类型(例如,列表或字典)可用的运算符的函数,可能就会决定使用运算符重载。在类内实现同一组运算符,可以保证对象会支持相同的预期的对象接口,因此会与这个函数兼容。尽管我们不能在本书中介绍每种运算符重载方法,我们将在第29章看看应用的一些额外的运算符重载技术。

几乎每个实际的类似乎都会出现的一个重载方法是:__init__构造函数。因为这可让类立即在其新建的实例内添加属性,对于每种你可能会写的类而言,构造函数都是有用的。事实上,虽然Python不会对实例的属性进行声明,但通常也可以通过找到类的__init__方法的代码,而了解实例有哪些属性。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文