わかりました、友情がカプセル化を破るかどうかの議論を残して、実際にエレガントに首尾一貫したデザインを考え出してみましょう. これは 2 つの機能です。
1) 実装方法に関する一般的な質問:
public class A
{
friend class B;
}
2) なぜこの機能が必要なのですか? 私のクラスのいくつかは、Serializable インターフェイスを実装しています。ただし、Serializable メソッドを Derived クラスで保護して、それらをクライアント (およびドキュメント -- javadoc) に公開しないようにしたいと考えています。ただし、内部クラスはそれらにアクセスできる必要があります。Javaでこの問題を解決する一般的な方法は何ですか?
注: 現在の C++ 標準で定義されているフレンドシップを使用しています。
ありがとう