Say, I have two classes:
class FTPClient: def __init__(self, host, port): self._client = FTPDriver(host, port) ... class FTPSClient(FTPClient): def __init__(self, host, port, username, password): self._client = FTPSDriver(host, port, user=username, password=password)
Objects of type
FTPClient may be replaced with objects of type
FTPSClient anywhere in the code. However, their
__init__ methods are apparently different, so it’s not possible to instantiate them in the same way. Is this a violation of LSP?