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

  • 相关阅读:
    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、jinfo、jconsole使用详解
    Spark入Hbase的四种方式效率对比
    redis的三种集群方式
    记Springcloud Config Service整合gitlab一坑
    移动开发day2_css预处理器_flex布局
    移动开发day1_过渡_2d转换_3d立体
    3月26-3月27号
    3月24号
    3月25号
    3月23日
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3223383.html
Copyright © 2011-2022 走看看