簡體   English   中英

在 Python 中,我應該如何使用與父 class 完全相同的屬性和方法來實現繼承的 class?

[英]In Python, how should I implement an Inherited class with the exact same properties and methods as the Parent class?

我正在使用 Python 做一個項目,並定義了一個名為Encoder的基礎 class :

class Encoder:
    def __init__(self):
        ...

    def encode(self, text):
        ...

現在我想創建兩個名為RotatingEncoderStaticEnocder的子類,它們繼承自這個 class。

class RotatingEncoder(Encoder):
    def __init__(self, rotor_size=26):
        ...
        # do stuff
        ...
        super().__init__()

    def encode(self, text):
        ...
        # do stuff
        ...
        return super().encode(text)

定義RotatingEnocder很容易,但我對如何定義StaticEnocder有一些疑問。

StaticEncoder的工作方式與Encoder object 完全相同。 它的所有屬性和方法都是相同的。 但是我該如何定義呢? 以下是我想到的兩種方法:

# Method A
class StaticEncoder(Encoder):
    pass


# Method B
class StaticEncoder(Encoder):
    def __init__(self):
        super().__init__()

    def encode(self, text):
        return super().encode(text)

我應該使用其中一種方法還是任何其他方法? 我希望我的代碼盡可能具有可讀性和 Pythonic

如果絕對要求Encoder是非抽象基class,方法A最好:

class StaticEncoder(Encoder):
    pass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM