关联不同类的两个对象

时间:2016-10-12 18:50:02

标签: c# oop

我不确定标题是否足够清晰,但我不知道如何准确描述我的问题。我创建了一个名为Window的类,我想创建另一个与类的属性相关的类。我们打电话给新的Box。

因此,我们有一个类Window的对象myWindow,以及一个类Box的对象myBox。我想确保myBox的大小永远不会大于myWindow的大小。正如我所见(见下文):

Window myWindow = new Window()
myWindow.CreateBox()

问题是我不知道如何创建一个方法,它会创建另一个类的对象。同时,他们的属性必须始终相互关联。

请告诉我如何实现我的想法。

1 个答案:

答案 0 :(得分:1)

这样的事情?

     public class Window
{
    private int _size { get; set; }
    public int Size
    {
        get
        {
            return _size;
        }
        set
        {
            if (value >= MyBox.Size)
                _size = value;
        }
    }
    public Box MyBox { get; set; }

    public Window(int myWindowSize, int myBoxSize)
    {
        if (myBoxSize > myWindowSize)
            throw new ArgumentException("box is bigger than window wah");

        Size = myWindowSize;
        MyBox = new Box(myBoxSize);
    }

    public void UpdateBoxSize(int newSize)
    {
        if (newSize > Size)
            throw new ArgumentException("box is bigger than window wah");
        MyBox.Size = newSize;
    }        
}

public class Box
{
    public int Size { get; set; }
    public Box(int myBoxSize)
    {
        Size = myBoxSize;
    }
}