如何在具体课程中使用二传手?我有两个抽象类,最下面的具体类应该能够设置所有我有抽象类的私有变量,我该怎么做? 我可以在具体的类中添加getters和setters,但是由于我的第二个抽象类有4个派生类,所以我不想有重复的代码和一长串的公共属性,有什么办法解决呢?
我正在使用C#
答案 0 :(得分:2)
使用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
答案 1 :(得分:0)
来自Microsoft documentation:
私人
类型或成员只能由相同类或结构中的代码访问。受保护的
该类型或成员只能由同一类或从该类派生的类中的代码访问。内部类型或成员可以由同一程序集中的任何代码访问,但不能从另一个程序集中访问。受私人保护
该类型或成员只能在其声明程序集中,通过同一类或从该类派生的类型的代码访问。
因此,该类是否为abstract
无关紧要,private
仅可在同一类中访问。