如何在具体类中使用设置器?我有两个抽象类,底部的具体类应该能够设置我有抽象类的所有私有变量,我该怎么做?我可以在我的具体类中添加 getter 和 setter,但是因为我有 4 个来自第二个抽象类的派生类,我不想有重复的代码和一长串公共属性,有什么办法解决这个问题吗?
我正在使用 C#
如何在具体类中使用设置器?我有两个抽象类,底部的具体类应该能够设置我有抽象类的所有私有变量,我该怎么做?我可以在我的具体类中添加 getter 和 setter,但是因为我有 4 个来自第二个抽象类的派生类,我不想有重复的代码和一长串公共属性,有什么办法解决这个问题吗?
我正在使用 C#
在 c# 中使用 protected 关键字可以访问父对象中的变量 像这样
public abstract class Parent {
protected int integer {get;set;}
}
public class Child : Parent {
public Child(int value) {
integer = value;
}
public int getValue() {
return integer;
}
}
请参阅:https ://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/protected
来自微软文档:
private
类型或成员只能由同一类或结构中的代码访问。protected
类型或成员只能由同一类或从该类派生的类中的代码访问。internal 类型或成员可以由同一程序集中的任何代码访问,但不能从另一个程序集中访问。private protected
类型或成员只能在其声明程序集中,由同一类中的代码或从该类派生的类型中访问。
所以不管类是否abstract
存在,private
都只能在同一个类中访问。