-2
public abstract class Password  {
private String password;
private final static String ENCRYPTION_METHOD;

static  {
ENCRYPTION_METHOD = "CLEAR TEXT";
    }

public Password(String password)    {
    password = password;

}

public String getPassword() {
    return password;
}

public boolean matches (String aString) {
    if (aString.equals(password))   {
        return true;    }

        else    {
            return false;   }
        }

public String toString()    {
    return password;
}

public static String getEncryptionMethod()  {
    return ENCRYPTION_METHOD;
}

abstract String decrypt();

}

  public class EncryptedPassword extends Password   {
private final static String ENCRYPTION_METHOD;

static  {
ENCRYPTION_METHOD = "PERMUTATION";
    }

public EncryptedPassword(String password)   {
    super(password);
}


public boolean matches (String aString) {
    if  (aString.equals("True"))    {
            return true;    }

            else    {
            return false;   }
                }

public String toString()    {
    return "Password: " + super.toString();
}


public String decrypt() {

    return password;
}

public static String getEncryptionMethod()  {
    return ENCRYPTION_METHOD;
}

}

こんにちは、EncryptedPassword クラスでパスワードを返す方法を知っているかどうか疑問に思っていましたが、それでもパスワードを具体的に保ち、Password クラスを抽象化することによってです。それを行う基本的な方法はありますか?また、ひどいフォーマットで申し訳ありません..

4

1 に答える 1

2

メソッドを次のように変更できます。

public String decrypt() {
    return getPassword();
}

passwordまたは、フィールドのアクセス修飾子をからprivateに変更することもできますprotected

于 2012-04-15T18:22:16.167 に答える