我一直在想。我有這個Vertex類,它是通用Graph類的一部分。這個頂點類擁有一個實體對象。在我的系統中,所有事情都是通過Vertex發生的,你不能用getter直接訪問實體對象。我意識到,我必須在實體類中創建公共方法,以便可以從Vertex類中調用它們。有沒有辦法只將方法暴露給擁有所述對象的類?公共訪問只有擁有對象的類
因爲現在我可以實例化一個實體並使用它的公共方法,但它在Vertex類之外沒有任何意義。我不知道是否有一種模式或者人們所做的只是讓業主使用他們所擁有的任何方法。
我現在正在使用Java,但C++也很好。我相信在C++中你可以使用friend關鍵字。
//Vertex.java
public class Vertex
{
private NodeDrawable _node;
...
}
//NodeDrawable.java
public class NodeDrawable
{
private disable();
}
我想使Vertex成爲唯一允許訪問NodeDrawable方法的類。內部類很酷,但我不喜歡在一個文件中有多個類。
您可以使用受保護的方法,該方法只允許從子類訪問。不知道這是你之後的事情。 – dcp
你可以發佈一些代碼 - 至少只是一個大綱,以便我們可以看到類結構?只看這個描述,我很難想象你正在做什麼。 – ajb
我已經擴展了我的問題。 –