zoukankan      html  css  js  c++  java
  • base 关键字用于从派生类中访问基类的成员:

    • 调用基类上已被其他方法重写的方法。
    • 指定创建派生类实例时应调用的基类构造函数。

    基类访问只能在构造函数、实例方法或实例属性访问器中进行。

    从静态方法中使用 base 关键字是错误的。

    示例

    在本例中,基类 Person 和派生类 Employee 都有一个名为 Getinfo 的方法。通过使用 base 关键字,可以从派生类中调用基类上的 Getinfo 方法。

    // keywords_base.cs
    // Accessing base class members
    using System;
    public class Person
    {
    protected string ssn = "444-55-6666";
    protected string name = "John L. Malgraine";
    public virtual void GetInfo()
    {
    Console.WriteLine("Name: {0}", name);
    Console.WriteLine("SSN: {0}", ssn);
    }
    }
    class Employee: Person
    {
    public string id = "ABC567EFG";
    public override void GetInfo()
    {
    // Calling the base class GetInfo method:
    base.GetInfo();
    Console.WriteLine("Employee ID: {0}", id);
    }
    }
    class TestClass {
    public static void Main()
    {
    Employee E = new Employee();
    E.GetInfo();
    }
    }

    输出

    Name: John L. Malgraine
    SSN: 444-55-6666
    Employee ID: ABC567EFG

    有关其他示例,请参见 newvirtualoverride

    示例

    本示例显示如何指定在创建派生类实例时调用的基类构造函数。

    // keywords_base2.cs
    using System;
    public class MyBase
    {
    int num;
    public MyBase()
    {
    Console.WriteLine("in MyBase()");
    }
    public MyBase(int i )
    {
    num = i;
    Console.WriteLine("in MyBase(int i)");
    }
    public int GetNum()
    {
    return num;
    }
    }
    public class MyDerived: MyBase
    {
    // This constructor will call MyBase.MyBase()
    public MyDerived() : base()
    {
    }
    // This constructor will call MyBase.MyBase(int i)
    public MyDerived(int i) : base(i)
    {
    }
    public static void Main()
    {
    MyDerived md = new MyDerived();
    MyDerived md1 = new MyDerived(1);
    }
    }

    输出

    in MyBase()
    in MyBase(int i)
  • 相关阅读:
    51. N皇后-递归dfs+回溯-困难
    Python基础/注意事项
    22. 括号生成-递归dfs回溯-中等难度
    40. 组合总和 II-递归dfs+剪枝-中等难度
    90. 子集 II-递归+dfs-中等难度
    78. 子集-递归+dfs-中等难度
    871. 最低加油次数-贪心-困难
    T-SQL 日期函数
    T-SQL DISTINCT子句 去重复
    T-SQL 数值函数
  • 原文地址:https://www.cnblogs.com/wzyexf/p/362968.html
Copyright © 2011-2022 走看看