The base keyword is used to access the constructors, fields, and methods of the base class inside the derived class. We call this keyword “base” in C#. You can use this base keyword only within an instance method, an instance property accessor, or a constructor. The base keyword becomes useful when both the base class and the derived class have the same fields, and the derived class does not override the field inherited from the base class.
Syntax
The syntax of the C# Base keyword is as follows:
base.constructor_name/field_name/method_name;
where,
constructor_name is the name of the constructor in the base class,
field_name is the name of the field in the base class and
method_name is the name of the method in the base class.
Whenever there is a need to use the constructors or fields, or methods of the base class in the derived class, we use the keyword base in the derived class.
In Python, programmers use the super() function to refer to the base class and invoke its methods or access its attributes. It provides a way to call methods from the base class within the derived class. The base keyword is useful if there are the same fields present in both the base class and the derived class; if the derived class does not derive the field present in the base class, then there is no use for the base keyword.
By using a base keyword, the confusion as to which member must be referenced from the base class is eliminated in the derived class.
Below are the examples mentioned :
C# program to demonstrate the use of a base keyword to reference the variable of the base class in the derived class:
Code:
using System; //a class called check is defined which is the base class public class check { //a string variable is defined to store the string public string string1 = "Welcome to"; } //another class called check1 is defined which is derived from the base class called check public class check1: check { //another string variable is defined to store the another string string string2 = "C#"; //a method is defined inside the derived class which displays the string from the base class and the derived class as well public void displaymsg() { Console.WriteLine(base.string1); Console.WriteLine(string2); } } //another class called check2 is defined within which the main method is called the instance of the derived class is created and the method of the derived class is called which in turn accesses the variable of the base class public class check2 { public static void Main() { check1 ob = new check1(); ob.displaymsg(); } }
Output:
Explanation: The above program defines a base class named “Check” which serves as the parent class. It includes a string variable to store a string value. In the given program, a derived class called “Check1” is defined, which inherits from the base class “Check.” Inside the “Check1” derived class, there is another string variable declared to store a distinct string value. This method displays the string value from the base and derived classes. The output is as shown in the snapshot above.
C# program to demonstrate the use of a base keyword to reference the variable of the base class in the derived class:
Code:
using System; //a class called check is defined which is the base class public class check { //a string variable is defined to store the string public string string1 = "Learning is"; } //another class called check1 is defined which is derived from the base class called check public class check1: check { //another string variable is defined to store the another string string string2 = "Fun"; //a method is defined inside the derived class which displays the string from the base class and the derived class as well public void displaymsg() { Console.WriteLine(base.string1); Console.WriteLine(string2); } } //another class called check2 is defined within which the main method is called the instance of the derived class is created and the method of the derived class is called which in turn accesses the variable of the base class public class check2 { public static void Main() { check1 ob = new check1(); ob.displaymsg(); } }
Output:
Explanation: In the given program, there is a base class named “Check” that acts as the parent class for other classes. It includes a string variable to hold a string value. Furthermore, a derived class called “Check1” is defined, which inherits from the base class “Check.” Inside the “Check1” derived class, an additional string variable is declared to store a distinct string value. The derived class “Check1” also contains a method definition. This method displays the string value from the base and derived classes. The output is as shown in the snapshot above.
There are several advantages of using the base keyword; they are:
1. Using the base keyword eliminates the need to duplicate the code.
2. By using a base keyword, the confusion as to which member must be referenced from the base class is eliminated in the derived class.
In this tutorial, we understand the concept of the base keyword in C# through definition, syntax, and working of base keyword through programming examples, their outputs, and the advantages of using base keyword in our program.
The above is the detailed content of C# Base. For more information, please follow other related articles on the PHP Chinese website!