可能重复:
为什么同一类的对象可以访问彼此的私有数据?
尝试保持封装时我从未理解过的东西:
假设我有一个名为 的类GameObject
和一个名为 的派生类Human
。GameObject
有一个私有变量position
。我有多个实例Human
,我希望每个人都能够根据需要调用SetPos()
并设置它的位置。然而,我不希望一个人有能力设置另一个人的位置。这是我的问题。
如果我有SetPos
public 或 protected,每个人都可以改变彼此的位置,如果SetPos()
是私有的,一个人甚至不能设置自己的位置(我需要这个,可能是一个薄弱的例子,但我希望你能理解)。
任何人都可以提供解决方案吗?
谢谢。