C#教程
C#控制语句
C#函数
C#数组
C#面向对象
C#命名空间和异常
C#文件IO
C#集合
C#多线程
C#其它

C# Base

C# Base

在 C# 中,base 关键字用于访问基类的字段、构造函数和方法。
您可以在实例方法中使用 base 关键字、构造函数或实例属性访问器。不能在静态方法内部使用。

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

我们可以使用 base 关键字访问类的字段派生类中的基类。如果基类和派生类具有相同的字段,则很有用。如果派生类没有定义相同的字段,则不需要使用 base 关键字。派生类可以直接访问基类字段。
我们来看C#中base关键字访问基类字段的简单例子。
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();
    }
}
输出:
white
black

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

借助base关键字,我们也可以调用基类方法。如果基类和派生类定义相同的方法,这很有用。换句话说,如果方法被覆盖。如果派生类没有定义相同的方法,则不需要使用 base 关键字。派生类的方法可以直接调用基类的方法。
我们来看一下base关键字调用基类的方法的简单例子。
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();
    }
}
输出:
eating...
eating bread...

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

每当继承基类时,都会在内部调用基类构造函数。让我们看看调用基类构造函数的例子。
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();
        
    }
}
输出:
animal...
dog...
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4