是否有任何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