zoukankan      html  css  js  c++  java
  • c# base关键的理解

    base 最大的使用地方在面相对性开发的多态性上。(什么是多态,如何理解多态)

    base可以【完成】创建派生类实例时调用其基类构造函数或者调用基类上已经被其他方法重写的方法

    //关于base调用基类构造函数(只能是一个类的构造函数调用另一个类的构造函数)

     public class A {
            public A(){
                Console.WriteLine("Build A");
            }
        }
    
        public class B : A {
            public B() :base()
            {
                Console.WriteLine("Build B");   
             }
        }
    //创建一个B的实例对象,获得结果是同时Build A 和 Build B.

    实例化 B类
    输出结果:Build A
             Build //进一步扩展  调用基类的构造函数的理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)();
            Console.ReadLine();
        }
    }


    // 在派生类总调用基类的方法(实际是对虚方法的重写) 

        public class Q {
            public virtual void Hello() {
                Console.WriteLine("Hello");
            }
        }
    
        public class W : Q {
            public override void Hello()
            {
                base.Hello();
                Console.WriteLine("World");
            }
        }
    实例化 W类
    输出结果 hello world

      

  • 相关阅读:
    2981 大整数加法
    1160 矩阵的最大值(指针专题)
    1159 最大的两个数(指针专题)
    1127 矩阵乘积
    1126 布尔矩阵的奇偶性
    1125 上三角矩阵的判断
    1124 两个有序数组合并
    1123 最佳校友
    1122 小明的调查作业
    1121 电梯
  • 原文地址:https://www.cnblogs.com/zmztya/p/5775883.html
Copyright © 2011-2022 走看看