Java 具有相同Id的2个类如何更改属性并在这两个类中反映
我有3个类,每个类都可能有不同的属性,让我们用钢笔说出一个类名 另外一节课,现在让我们用1,2,3来拿两个id。。以此类推。如果我有许多id或具有不同id的对象,那么手id和笔id都是相同的, 只有手id 1可以使用笔id 1,手id 2也可以使用笔id 2Java 具有相同Id的2个类如何更改属性并在这两个类中反映,java,c#,Java,C#,我有3个类,每个类都可能有不同的属性,让我们用钢笔说出一个类名 另外一节课,现在让我们用1,2,3来拿两个id。。以此类推。如果我有许多id或具有不同id的对象,那么手id和笔id都是相同的, 只有手id 1可以使用笔id 1,手id 2也可以使用笔id 2 class Hand{ string Id; bool Status; Hand(string id){ Id=1; Status=false
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所有状态均为假
pen的id为1,3
铅笔的id是2
若id 2的手变为真,那个么在带有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)
{
}
}
理想情况下,如果两个对象主要是相互依赖的,那么它们将具有
HAS-a
或IS-a
关系,您能否重新考虑您的设计
理想情况下,如果您的类命名正确,您可以有一个手和一个笔的关系(或者也可以反过来)
所以你可以
class Hand{
string Id;
bool Status;
Pen pen = new Pen();
Hand(string handId, String penId){
id=handIdl;
pen.id = penId;
Status=false
}
setStatus(boolean status) {
this.status = status;
this.pen.status = status;
}
}
class Pen{
string Id
bool Status;
Pen(string id){
Id=1;
Status=false;
}
}
理想情况下,您应该有一个类似的结构,这些只是需要进一步研究的指针
希望有帮助
祝你好运 您还可以在笔中添加手变量。获取hand.Status,而不是像这样获取笔的Status。bool Status{get=>Hand.Status}感谢您帮助我解决您的逻辑问题,非常好,但我有n个类。你的代码只适用于pen,我有pen,pencil,橡皮擦etc@virus:你这样做的目的是什么?我非常抱歉没有早点描述它。谢谢你的帮助,如果我有两门课,它是有效的,但很抱歉没有正确描述这个问题,我有n个班,有一个主课,比如手是主笔铅笔橡皮擦是不同的课。我非常抱歉没有描述早些时候。