今まで気づかなかったことに気づきました。このクラスはC#で有効であることがわかります。
class Foo
{
private string contents;
public Foo(string str) {
contents = str;
}
public void set(Foo other)
{
contents = other.contents;
}
}
したがって、同じクラスの異なるインスタンスは、互いのプライベートメンバーにアクセスできます。
これまで、オブジェクトのプライベートメンバーには、同じクラスの他のインスタンスからではなく、そのオブジェクトからのみアクセスできると思っていました。これを見つけるのは少し驚きです。
これは、すべての一般的なオブジェクト指向言語に当てはまりますか?それは私には直感的ではありません。