抽象和具体类-吸气剂和吸气剂

时间:2019-11-13 15:00:34

标签: c# abstract-class getter-setter concreteclass

如何在具体课程中使用二传手?我有两个抽象类,最下面的具体类应该能够设置所有我有抽象类的私有变量,我该怎么做? 我可以在具体的类中添加getters和setters,但是由于我的第二个抽象类有4个派生类,所以我不想有重复的代码和一长串的公共属性,有什么办法解决呢?

我正在使用C#

2 个答案:

答案 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仅可在同一类中访问。