如何使方法只能访问一个类?

时间:2015-08-05 11:16:40

标签: oop language-agnostic

假设我有一个Top类和一个Bottom类。一些“外部代码”可以调用Top类的方法,这将导致类Top访问类Bottom的方法。但是如何确保它只能以这种方式工作,除Top之外的其他人不会直接尝试访问Bottom?

以下是插图:enter image description here

如果我将Bottom设为私有,则Top将无法访问它。如果我将Bottom公之于众,那么每个人都可以做到。这两者之间有什么关系吗?我听说你们喜欢绘制UML图表,但有没有办法在IDE中强制设计你的设计?为什么?这会改变吗?

1 个答案:

答案 0 :(得分:1)

根据要求将评论转移到真实答案。

在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()
        {
        }
    }
}