我有3个班级,每个班级可能具有不同的属性,让我们用笔说一个班级名称 和其他用手类,目前让我们用1,2,3 ..来取两个id。以此类推。如果我有很多id或具有不同id的对象,则手id和笔id相同, 只有手号1可以使用笔号1,类似地,手号2可以使用笔号2。

class Hand{ 
      string Id;
      bool Status;
      Hand(string id){
            Id=1;
            Status=false
      }
}
class Pen{ 
      string Id
      bool Status;
      Pen(string id){
            Id=1;
            Status=false;
      }
}
class Pencil{ 
      string Id
      bool Status;
      Pen(string id){
            Id=1;
            Status=false;
      }
}

因此,如果我更改Hand.status = true,它应该会自动在pen.status或具有该ID的铅笔中更改为true。 让我们假设。 手ID 1,2,3所有状态均为假 笔有编号1,3 铅笔有编号2 如果将id 2的手更改为true,则应该更改在id为id的铅笔中找到的id 如何映射它们或如何在两个类之间建立连接 感谢您的任何建议

分析解答

这应该是可行的。

class Hand
{
    public int Id;
    private bool m_Status;
    public bool Status
    {
        get
        {
            return m_Status;
        }
        set
        {
            m_Status = value;
            if (Pen != null)
            {
                Pen.Status = value;
            }
        }
    }
    Pen Pen { get; set; }

    Hand(int id)
    {
        Id=1;
        Status=false;
    }
}

class Pen
{
    public int Id;
    public bool Status;
    Pen(int id)
    {
        Id=1;
        Status=false;
    }
}

*添加/修改*

您也可以像这样扩展您的课程。

class Hand
{
    public int Id;
    private bool m_Status;
    public bool Status
    {
        get
        {
            return m_Status;
        }
        set
        {
            m_Status = value;
            if (Item != null)
            {
                Item.Status = value;
            }
        }
    }
    Item Item { get; set; }

    Hand(int id)
    {
        Id=id;
        Status=false;
    }
}

class Item
{
    public int Id;
    public bool Status;
    public Item(int id)
    {
        Id=id;
        Status=false;
    }
}

class Pen : Item
{
    public Pen(int id)
        : base(id)
    {

    }
}


class Eraser : Item
{
    Eraser(int id)
        : base(id)
    {

    }
}


class Pencil : Item
{
    public Pencil(int id)
        : base(id)
    {

    }
}