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

      

  • 相关阅读:
    finally 到底是什么时候执行的问题
    转发与重定向
    java中的常量池
    数据库优化之设置fetchSize
    java集合去重和排序
    jdbc连接数据库
    重写和重载的区别
    <? extends E>和<? super E> 的意义和区别
    入栈和出栈规律
    JAVA中poi操作excel合并单元格的技巧,以及easypoi,注解@Excel的操作
  • 原文地址:https://www.cnblogs.com/zmztya/p/5775883.html
Copyright © 2011-2022 走看看