【问题标题】:How to decide what to inherit in a module class? [duplicate]如何决定在模块类中继承什么? [复制]
【发布时间】:2020-05-02 05:55:19
【问题描述】:

假设我想创建一个新模块来为 MySQL 提供加密/解密。在我的模块中,我可能只是有这样的东西:

import mysqlib
import cryptolib

class SqlEncryption:

    def encrypt(foo):
        cryptolib.encrypt(foo)

    def decrypt(bar)
        cryptolib.decrypt(bar)

但我当然可以从加密和/或 sql 库继承:

class SqliteEncryption(mysqlib, cryptolib):

当然使用super 和一切。我通常继承,但这是我第一次想知道我是否应该从 sql 库、加密库或两者继承。由于我实际上不需要访问这两个模块中尚未在其 API 中公开的任何内容,因此应该如何决定或者这无关紧要?

【问题讨论】:

  • 从模块继承绝对没有意义。我认为您误解了模块和/或继承的工作原理。
  • 决定从哪个模块继承就像决定喝什么口味的汤。

标签: python python-3.x class inheritance


【解决方案1】:

如果您没有特别在代码中直接使用超级库中的任何方法或类,则可能根本不需要导入它。

【讨论】:

    猜你喜欢
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2018-02-25
    • 1970-01-01
    • 2014-03-25
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多