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 关键字引用类的当前实例。

  • 相关阅读:
    名种样式的加入收藏和设为主页代码
    Android蓝牙UUID
    Discuz (1040) notconnect错误的解决办法
    IIS上配置404页面的图文教程
    C#操作excel(多种方法比较)
    Server Application Unavailable出现的原因及解决方案集锦
    怎么在google player下载apk
    apk反编译|android程序反编译
    discuz x2.5帖子无法访问|discuz x2.5 帖子报错500
    C#实现路由器断开连接,更改公网ip
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3223383.html
Copyright © 2011-2022 走看看