如何在具体类中使用setter?我有两个抽象类,底部的具体类应该能够设置所有的私有变量。我有抽象类,我该怎么做?我可以在我的具体类中添加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://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/protected
来自Microsoft文档:
private
类型或成员只能由同一类或结构中的代码访问。protected
类型或成员只能由同一类或从该类派生的类中的代码访问。internal同一程序集中的任何代码都可以访问类型或成员,但不能从其他程序集中访问。privateprotected
只能在类型或成员的声明程序集中,通过同一类或从该类派生的类型中的代码访问该类型或成员。
因此,类是否为abstract
并不重要,private
只能在同一类中访问。