开发者社区> 问答> 正文

两个ID相同的类如何更改属性并同时反映

我有三个类,每个类可能有不同的属性,让我们用pen代表一个类名,用hand代表另一个类名,现在让我们用1,2,3取两个id。所以,如果我有许多ID或具有不同ID的对象,hand ID和penID都是相同的,只有 hand ID 1可以使用pen ID 1同样,hand ID 2可以使用pen ID 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的pencil将更改为true。让我们假设一下。hand id 1,2,3所有状态都是false pen has id 1,3 pencil has id 2如果hand of id 2更改为true,则在pencil with id中找到的id应该更改如何映射它们或如何在两个类之间建立连接

展开
收起
小六码奴 2019-10-14 18:54:23 8949 0
1 条回答
写回答
取消 提交回答
  • 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) {

    }
    

    }

    2019-10-14 18:56:13
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载