‘朋友’相当于Java?

这里有点建筑麻烦。

在C ++中,我们有“朋友”的概念,这样的朋友类可以访问私人成员。

所以,我正在尝试使用Java应用程序并尝试遵循MVC架构。 我有一个控制器类来管理’map_objects’之间的图形连接。 我想通过使用这个控制器类来隐藏DTO’map_objects’中的函数,该函数实际设置这些连接性。

(即,即使控制器类实现了设置连接性所需的function,’用户’仍然可以直接访问DTO中的setter / getter函数来自行设置它们。)

在这方面有任何设计模式或提示吗? (或者我完全搞砸了?)

DUPLICATE 有没有办法在Java中模拟C ++的“朋友”概念?

(联合国)幸运的是,在Java中没有直接的C ++朋友。 但是, Java访问级别修饰符可以帮助您。 特别是私有或包私有(AKA包受保护或“默认”)可能有所帮助。

您可能希望使用接口隔离 – 即,让类实现不同的接口,并且仅将对适当(较小)接口的引用传递给不同的客户端。