C# 属性

C# 抽象

C# 字符串

C# 泛型

C# 杂项

C# 新特性

C# 基础

在 C# 中,base 关键字用于访问基类的字段、构造函数和方法。

您只能在实例方法、构造函数或实例属性访问器中使用 base 关键字。您不能在静态方法中使用它。

C# base 关键字:访问基类字段

我们可以使用 base 关键字来访问派生类中基类的字段。如果基类和派生类具有相同的字段,这将很有用。如果派生类没有定义相同的字段,则不需要使用 base 关键字。派生类可以直接访问基类字段。

让我们看一下 C# 中访问基类字段的基本关键字的简单示例。

例子 (Example)

using System;  
public class Animal{  
    public string color = "white";  
}  
public class Dog: Animal  
{  
    string color = "black";  
    public void showColor()  
    {  
        Console.WriteLine(base.color);  
        Console.WriteLine(color);  
    }  
      
}  
public class TestBase  
{  
    public static void Main()  
    {  
        Dog d = new Dog();  
        d.showColor();  
    }  
}

输出:

白色的
黑色的

C# base 关键字示例:调用基类方法

借助 base 关键字,我们也可以调用基类方法。如果基类和派生类定义相同的方法,这很有用。换句话说,如果方法被覆盖。如果派生类没有定义相同的方法,则不需要使用 base 关键字。基类方法可以直接被派生类方法调用。

让我们看一下调用基类方法的基本关键字的简单示例。

例子 (Example)

using System;  
public class Animal{  
    public virtual void eat(){  
        Console.WriteLine("eating...");  
    }  
}  
public class Dog: Animal  
{  
    public override void eat()  
    {  
        base.eat();  
        Console.WriteLine("eating bread...");  
    }  
      
}  
public class TestBase  
{  
    public static void Main()  
    {  
        Dog d = new Dog();  
        d.eat();  
    }  
}

输出:

吃...
吃面包...

C#继承:内部调用基类构造函数

每当您继承基类时,都会在内部调用基类构造函数。让我们看一下调用基本构造函数的例子。

例子 (Example)

using System;  
public class Animal{  
    public Animal(){  
        Console.WriteLine("animal...");  
    }  
}  
public class Dog: Animal  
{  
    public Dog()  
    {  
        Console.WriteLine("dog...");  
    }  
      
}  
public class TestOverriding  
{  
    public static void Main()  
    {  
        Dog d = new Dog();  
          
    }  
}

输出:

动物...
狗...


上一主题 C# 方法覆盖 下一主题 C# 多态性
  • 使用社交账号登录,本站支持
全部评论(0)