0
我试图将装饰模式应用于将一个单词加密成某种加密的对象,如L337方法,它用g替换字母9,或用r替换4 。基本上,我想在输入字段中输入一个单词并在文本对象中显示加密的单词。但是我不能让L337装饰器从主装饰器类继承。它不会接受关键字'super',所以我尝试了基本词,但是当我实现Encrypt时,它不会接受newEncryption对象。有人可以帮我弄清楚如何把这种模式放在一起吗?使用装饰模式统一加密字符串
我基本知道装饰模式是什么。它正在制作一个对象,制作一个基本的装饰器,并制作一个特定的装饰器,并用装饰来实例化对象以获得独有的方法和特性。
public class Encryption : MonoBehaviour
{
public static InputField inputBox;
public static Text outputText;
public interface IEncryption { void Encrypt(); }
public class TextEncryption : IEncryption
{
public void Encrypt()
{
string currentText = inputBox.text;
outputText.text = currentText;
}
}
public abstract class encryptionDecorator : IEncryption
{
protected IEncryption tempEncryption;
public encryptionDecorator(IEncryption newEncryption)
{
tempEncryption = newEncryption;
}
public void Encrypt()
{
tempEncryption.Encrypt();
}
}
public class L337EncryptionDecorator : encryptionDecorator
{
public L337EncryptionDecorator(IEncryption newEncryption) : base(newEncryption)
{
print("Encrypting L337 Code");
}
public void Encrypt()
{
}
}
}