C# - Making all derived classes call the base class constructor

前端 未结 4 778
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-11-27 17:15

I have a base class Character which has several classes deriving from it. The base class has various fields and methods.

All of my derived classes use the same base

4条回答
  •  清歌不尽
    2020-11-27 18:14

    You can use the following syntax to call the base class constructor from the classes that derive from it:

    public DerivedClass() : base() {
        // Do additional work here otherwise you can leave it empty
    }
    

    This will call the base constructor first, then it will perform any additional statements, if any, in this derived constructor.

    Note that if the base constructor takes arguments you can do this:

    public DerivedClass(int parameter1, string parameter2) 
        : base(parameter1, parameter2) {
        // DerivedClass parameter types have to match base class types
        // Do additional work here otherwise you can leave it empty
    }
    

    You can find more information about constructors in the following page:

    https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/using-constructors

    In a derived class, if a base-class constructor is not called explicitly by using the base keyword, the default constructor, if there is one, is called implicitly.

提交回复
热议问题