如何解决我的孩子班级如何与母亲班级共享idCounter?
我对编程非常陌生,我无法通过谷歌搜索找到我的问题的确切答案,因此希望我会尽可能简化它。
我的公共类MotherClass()具有 public int ID ,它应显示存储在 public static int idCounter 中的当前数字。我想在我的公共类ChildClass:MotherClass中继承/共享相同的idCounter。
所以当我争取前。 2个新的MotherClass()对象,并说2个新的ChildClass()对象,它们的ID应为:1,2,3,4(共享),而不是1,2和1,2(每个类的计数器不同)。 / p>
这就是我所拥有的:
public class MotherClass(){
public static int idCounter {get; set;}
public int Id { get; set; }
public string Name { get; set; }
static MotherClass(){
idCounter = 1;
}
public MotherClass(string name,int id = -1){
if(id == -1)
Id = idCounter++;
Name = name;
}
public class ChildClass : MotherClass{
public double Price { get; set; }
public ChildClass(string name,double price int id =-1) : base(name,id){
Price = price;
}
}
解决方法
这是您可以做到的一种方法:
public class MotherClass
{
public static int IdCounter { get; private set; } = 1;
public int Id { get; } = IdCounter++;
}
public class ChildClass : MotherClass { }
每次创建新的MotherClass
或ChildClass
时,IdCounter
都会递增。
示例:
Console.WriteLine(new MotherClass().Id); // 1
Console.WriteLine(new MotherClass().Id); // 2
Console.WriteLine(new ChildClass().Id); // 3
您应将IdCounter
的设置器设为私有,否则其他类将无法修改该值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。