关键字 base 的作用

①调用基类上已被其他方法重写的方法,小栗子a如下:

     public class Father
        {
            public virtual void Show()
            {
                Console.WriteLine(" I am your father ");
            }
        }
        public class Child:Father
        {
            public override void Show()
            {
                base.Show();
                Console.WriteLine("I am your child");
            }
        }

运行结果:

②创建派生类实例的时候,指定所调用的基类的构造函数

       public class Father
        {
           public string Name { get; set; }
           public Father(string Name)
            {
                this.Name = Name;
            }
        }
        public class Child:Father
        {
            public Child():base("小明")
            {
                Console.WriteLine("输出基类的Name:{0}",Name);
            }
        }
        static void Main(string[] args)
        {
            Child child = new Child();
            Console.ReadKey();
        }

运行结果:

子类被构造时,一定会先调用父类的构造函数,但可以用base关键字选择调用哪个构造函数,但不能每一个都不调用(至少选一个).如果不指定的话,一般调用无参数的构造函数,因为这是一个类的默认构造函数.

时间: 2024-08-27 20:01:39

关键字 base 的作用的相关文章

【转】java中关键字volatile的作用

在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器).为了性能,一个线程会在自己的memory中保持要访问的变量的副本.这样就会出现同一个变量在某个瞬间,在一个线程的memory中的值可能与另外一个线程memory中的值,或者main memory中的值不一致的情况. 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B.只在某些动作时才进行A和B的同步.因此存在A和B不一致的情况.volatile就是用来避免这种情况

java中关键字volatile的作用

用在多线程,同步变量. 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B.只在某些动作时才进行A和B的同步.因此存在A和B不一致的情况.volatile就是用来避免这种情况的.volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1================================= 版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本

转!!java中关键字volatile的作用

用在多线程,同步变量. 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B.只在某些动作时才进行A和B的同步.因此存在A和B不一致的情况.volatile就是用来避免这种情况的.volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1================================= 版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本

C#关键字base

例子: public CustomStroke(SharpType type) :base() { this.type = type; } 这里的CustomStroke继承与基类Stroke类,用关键字base调用了基类stroke类中的构造方法. 如果基类没有提供默认构造函数,派生类必须使用 base 显式调用基构造函数. 构造函数可以使用 this 关键字调用同一对象中的另一构造函数.和 base 一样,this 可带参数使用也可不带参数使用,构造函数中的任何参数都可用作 this 的参数

全局变量和局部变量,关键字static的作用

全局变量和局部变量 全局变量:在函数外定义的变量成为全局变量;全局变量在静态存储区分配存储但愿,在程序运行期间都不释放,在文件中的函数均可调用该全局变量,其他文件内的函数调用全局变量,需加extern声明. 静态全局变量:在函数外定义变量时,若加上static声明,则此变量为静态全局变量. 局部变量:在一个函数中或复合语句中定义的变量,在动态存储区分配存储单元,在调用时动态分配,在函数或复合语句结束时自动释放. 静态局部变量:在一个函数中定义局部变量时,若加上statci声明,则此变量为静态局部

#import和#include的区别 关键字@class的作用

一.#import和#include的区别当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了 二.关键字@class的作用在来看一下OC中的关键字@class的作用,在看他的作用之前,先来看一个问题:现在有一个课程类Classes和学生类Student,他们两之间需要相互引用(导入).直接看代码比较直接:Cla

线程同步关键字synchronized的作用

线程和进程的区别:  线程:是进程内部中的单一顺序控制流,一个进程拥有多个线程,多个线程共享一个进程的内存空间.   进程:是指一种"自包容"的运行程序,由操作系统直接管理.直接运行.有直接的地址空间,每个进程以开始都会消化内存. 线程同步:当二个或二个以上的进程同时访问一个资源时,为了保护资源的数据安全,只允许同一时间一个进程的访问,别的进程需要等待该进程放弃这个资源使用权时才能继续访问. 用一个列子来说明线程同步到底是怎么回事. package com.project.thread

C语言中Static和Const关键字的的作用

程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中. 1.作用于变量: 用static声明局部变量-------局部变量指在代码块{}内部定义的变量,只在代码块内部有效(作用域),其缺省的存储方式是自动变量或说是动态 存储的,即指令执行到变量定义处时才给变量分配存储单元,跳出代码块时释放内存单元(生命期).用static声明局部变量时,则改变变量的存储方式(生 命期),使变量成为静态的局部变量,即编译时就为变量分配内存,直到程序退出才释放存储单元.这样,使

C#中的lock关键字有何作用

作为C#的程序员来说,在遇到线程同步的需求时最常用的就是lock关键字.但如何正确并有效地使用lock,却是能否高效地达到同步要求的关键.正因为如此,程序员需要完全理解lock究竟为程序做了什么. 所涉及的知识点 • lock的等效代码 • System.Threading.Monitor类型的作用和使用方法 分析问题 1.lock的等效代码 在.NET的多线程程序中,经常会遇到lock关键字来控制同步,比如下列代码: private object o = new object(); publi