Я пробую свои силы на питоне. Я пытаюсь реализовать класс шифрования, который делает Enc / Dec. В моем классе шифрования я требую, чтобы пользователь передал 3 аргумента для выполнения операций enc dec. До сих пор я читал ключ из файла и делал операции. Теперь я хочу также предоставить функцию генерации ключа. Но проблема в том, что для вызова генерации ключей я не хочу, чтобы пользователь предоставлял какие-либо аргументы при инициализации класса.
Итак, по сути, я пытаюсь достичь того, что когда создается экземпляр класса crypto без каких-либо аргументов, я просто хочу представить функцию generate_key. и когда все 3 аргумента предоставлены при создании экземпляра класса, я хочу показать все другие функции enc / dec, но не функцию key gen.
Я не могу понять, это ситуация полиморфизма или наследования, или я должен просто использовать 2 разных класса, один из которых имеет ключи генерации, а другой - для функций enc dec ..
Пожалуйста, дайте мне несколько советов о том, как я могу эффективно справиться с этой ситуацией?
Пример:
class crypto:
def __init__(self,id, val1):
self._id = id
self._val1 = val1
def encrypt(self):
""" encryption here """
def save(self):
""" save to file """
def load(self):
""" load from file"""
def decrypt(self):
""" decryption here"""
def gen_keys(self):
""" gen key here"""
Итак, теперь, когда этот криптографический класс создается без аргументов, я просто хочу показать функцию gen keys. и если он создается с помощью id и val1, то я хочу показать все функции, но не ключи gen.
Я надеюсь, что это даст некоторые разъяснения по моему вопросу. Пожалуйста, подскажите, как мне этого добиться.
Спасибо,
Джон