如何让一个方法只能被一个 class 访问?

How to make a method accessable to only one class?

假设我有一个 class 顶部和一个 class 底部。某些"outside code"可以调用classTop的方法,这将导致classTop访问classBottom的方法。但是如何确保它只能以这种方式工作,并且除了 Top 之外没有人不会尝试直接访问 Bottom?

这是一个例子:

如果我将 Bottom 设为私有,Top 将无法访问它。如果我做下public,每个人都可以做到。这两者之间有什么吗?我听说你们喜欢画 UML 图,但是有什么方法可以在 IDE 中强制执行您的设计吗?为什么?这什么时候会改变?

根据要求将我的评论移至真实答案。

在 C# 中,我很确定 C++,看起来您正在寻找嵌套类型。 msdn.microsoft.com/en-us/library/ms173120.aspx

public class Container
{
    public Container()
    {
         Nested nested = new Nested();
         nested.DoIt();
    }

    class Nested
    {
        private Container parent;

        public Nested()
        {
        }

        public Nested(Container parent)
        {
            this.parent = parent;
        }

        public void DoIt()
        {
        }
    }
}