zoukankan      html  css  js  c++  java
  • C# 中的关键字之:base、this 【转】

                                                                                 C# 中的关键字之:base、this。

          base 关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。

      指定创建派生类实例时应调用的基类构造函数。

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

      示例:

      在派生类中调用基类方法。

    以下是引用片段:
      // base 关键字
      // 访问基类成员
      using System;
      public class BaseClass
      {
      protected string _className = "BaseClass";
      public virtual void PrintName()
      {
      Console.WriteLine("Class Name: {0}", _className);
      }
      }
      class DerivedClass : BaseClass
      {
      public string _className = "DerivedClass";
      public override void PrintName()
      {
      Console.Write("The BaseClass Name is {0}");
      //调用基类方法
      base.PrintName();
      Console.WriteLine("This DerivedClass is {0}", _className);
      }
      }
      class TestApp
      {
      public static void Main()
      {
      DerivedClass dc = new DerivedClass();
      dc.PrintName();
      }
      }
      /**//*

      控制台输出:

      The BaseClass Name is BaseClass

      This DerivedClass is DerivedClass

      */

      在派生类中调用基类构造函数。

    以下是引用片段:
      // keywords_base2.cs
      using System;
      public class BaseClass
      {
      int num;
      public BaseClass()
      {
      Console.WriteLine("in BaseClass()");
      }
      public BaseClass(int i)
      {
      num = i;
      Console.WriteLine("in BaseClass(int {0})", num);
      }
      }
      public class DerivedClass : BaseClass
      {
      // 该构造器调用 BaseClass.BaseClass()
      public DerivedClass() : base()
      {
      }
      // 该构造器调用 BaseClass.BaseClass(int i)
      public DerivedClass(int i) : base(i)
      {
      }
      static void Main()
      {
      DerivedClass dc = new DerivedClass();
      DerivedClass dc1 = new DerivedClass(1);
      }
      }
      /**//*

      控制台输出:

      in BaseClass()

      in BaseClass(1)

      */

      注意点:

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

      base 主要用于面向对象开发的对态这方面,在示例2中有体现。

      this 关键字引用类的当前实例。

  • 相关阅读:
    PKU 3984 迷宫问题
    九度 1341 艾薇儿的演唱会
    九度 1335
    SDUT 1198 鞍点计算
    POJ 1363 Rails
    SDUT 1570 C旅行
    HDU 1042 N!
    SDUT 1568 俄罗斯方块
    HDU 1257 最少拦截系统
    POJ 3750 小孩报数问题
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3223383.html
Copyright © 2011-2022 走看看