は、私は、次のコードを持っている:Bookクラスが弱くアクセス修飾子と夕食クラスの関数をオーバーライドしようとしているので、弱いオーバーライドされた関数がJavaでは使えないのはなぜですか?
public class Library {
public void myFunction() {
// do something
}
}
public class Book extends Library{
protected void myFunction() { // Error here
// do something
}
}
上記のコードは、エラーが発生しました。私はこれがJavaのルールだと知っています。しかし、私はなぜそれが好奇心ですか?どのような問題が引き起こす可能性がありますか?
'オブジェクト指向言語'のルールではありません。 OOとはまったく関係がありません。もともと指定されたセキュリティは覆い隠されるべきではないという基本原則です。 – EJP
原則とルールの違いは何ですか? –
EJPによると、オブジェクト指向とは何の関係もありません。また、pstが言うように、C#では "新しい"キーワードを使って同様のことを行うことができます。そしてC#もオブジェクト指向です。 – Christian