A subclass can call a constructor defined by its superclass using the form super(parameter-list);.
parameter-list must specify the parameters needed by the superclass constructor.
The first statement executed within the constructor of a subclass must always be super(); (or super(parameter-list); if it is necessary to pass parameters).
The following is a version of TwoDShape with a constructor that initializes width and height.
The Triangle subclass uses super(w, h) to call the constructor of the TwoDShape superclass, passing the values of w and h.
TwoDShape's constructor initializes width and height with these values.
The Triangle subclass does not need to initialize width and height, just the style value, which is exclusive to it.
Using super( ) allows the superclass (TwoDShape) to construct its own subobject as desired and add functionality without the subclass needing to know the details.
Every form of constructor defined by the superclass can be called with super( ). The constructor executed will be the one whose arguments match the given parameters.
The following example shows expanded versions of TwoDShape and Triangle with default constructors and constructors that take one argument.
Call to the Superclass Constructor: When a subclass calls super( ), it is invoking the constructor of its immediate superclass.
Reference to Immediate Superclass: super( ) always references the superclass immediately above the class that is calling it, even in multi-level hierarchies.
First Instruction in the Constructor: super( ) must be the first instruction executed within the constructor of a subclass. This ensures that the superclass part of the object is initialized before the subclass constructor executes its own code.
The above is the detailed content of Using super to call superclass constructors. For more information, please follow other related articles on the PHP Chinese website!