是否有任何OOP语言中的对象私有的概念?我的意思是比经典的专用访问更具限制性?object-private Vs class-private
对象私有:限制访问对象本身。只有方法的对象可以访问的成员,这将是不可能写:
public class Person {
private String secret;
public String othersSecret;
public void snoop(Person p) {
othersSecret = p.secret; //will be prohibited by the compiler
}
编辑:
如果它存在,你可以给我一些例子......如果不是你认为这是有趣的有这种功能?是否有可能在其他OOP语言中模拟它?
编辑2: 感谢你们,所有的答案都非常有启发...
到现在为止,临时结论:
的instance-private概念在两种语言存在:
1 - Smalltalk经过数小时的谷歌搜索:)我发现这个概念背后的语言!
2 - 红宝石感谢洛根:
我刚编辑我的文章更清晰......我问理论......在任何OOP语言... – 2009-12-28 17:09:37
让我走的事情之一'吧?'通过C#,AFAIK它只支持类私有。 – 2009-12-28 17:41:30
@Johannes:'class-private'是OOP语言(C#,java ...)处理封装的正常方式...直到现在我只能看到允许'object-private'的Ruby(感谢Logan).. – 2009-12-28 18:31:41