C#中base关键字的几种用法 (base可以对派生类(子类)实例中调用基类(父类)的构造函数方法或者基类上已经被重写的虚方法)
base最大的使用就是“面向对象”开发的多态中。base可以对派生类(子类)实例中调用基类(父类)的构造函数方法或者基类上已经被重写的虚方法。
首先声明两个类 A B
public class A
{
public A()
{
Console.WriteLine("我是父类A");
}
public A(string cs)
{
Console.WriteLine("我是带一个参数的父类A");
}
public virtual void CX()
{
Console.WriteLine("我是虚方法的父类A,可以被重写");
}
}
public class B : A
{
//因为使用了:base() 方法 所以他会自动先调用基类(父类)的方法 对应的参数
//这里会调用父类带一个参数的构造函数方法
//然后在执行B本身构造函数中的方法
public B() : base("sada")
{
Console.WriteLine("我是子类B");
}
//实例化B方法后 调用B.CX
//base.CX()方法先调用基类的虚方法输出
//再执行本身的方法
public override void CX()
{
base.CX();//可以调用基类虚方法
Console.WriteLine("我是重写方法的子类");
}
}
在main方法中使用
B bb = new B();
bb.CX();
输出结果

引用:C#中base关键字的几种用法 - 原往 - 博客园 (cnblogs.com)
C#中base关键字的几种用法 (base可以对派生类(子类)实例中调用基类(父类)的构造函数方法或者基类上已经被重写的虚方法)的更多相关文章
- 【转】C#中base关键字的几种用法:base()
转:https://blog.csdn.net/cplvfx/article/details/82982862 base其实最大的使用地方在面相对象开发的多态性上,base可以完成创建派生类实例时调用 ...
- 【转】C#中base关键字的几种用法
base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类上已被其他方法重写的方法.例如: 2.1关于base调用基类构造函数 public c ...
- (转)C#中base关键字的几种用法
base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类上已被其他方法重写的方法.例如: 2.1关于base调用基类构造函数 public c ...
- java中 this 关键字的三种用法
Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...
- Java中this关键字的几种用法
1 . 当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量.(this是当前对象自己) 如:public class Hello { String s = " ...
- .NET(c#)new关键字的三种用法
前几天去家公司面试,有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是 ...
- NEW关键字的三种用法
最近面试中有一道题是写new关键字的几种用法,想了下写下我知道的两种用法 第一种 创建对象.调用构造函数,这就不用讲了 ClassA A=new ClassA(); 第二种 是作为修饰符,显示隐藏继 ...
- ASP.NET MVC中Area的另一种用法
ASP.NET MVC中Area的另一种用法 [摘要]本文只是为一行代码而分享 context.MapRoute("API", "api/{controller}/{ac ...
- C#的New关键字的几种用法
一.在C#中,new这个关键字使用频率非常高,主要有3个功能: a) 作为运算符用来创建一个对象和调用构造函数. b) 作为修饰符. c) 用于在泛型声明中约束可能用作类型参 ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
随机推荐
- 【NLP学习其3.5】词嵌入的特性,为什么词之间会有联系?
词嵌入的特性 现在你有了一堆嵌入向量,我们可以开始学习他们之间的特性了 前情提要:https://www.cnblogs.com/DAYceng/p/14962528.html 先把各向量重新命名便于 ...
- Java 多线程---线程优先级
Java 实例 - 线程优先级设置 以下实例演示了如何通过setPriority() 方法来设置线程的优先级: 1 SimplePriorities.java 文件 2 public class Si ...
- Java 基本数据类型之间的运算规则
1 /*** 2 * 基本数据类型之间的运算规则 3 * 4 * 前提:7中基本数据类型运算 5 * 6 * 1.自动类型提升: 7 * 当容量小的类型与容量大的数据类型的变量做运算时,结果自动提升为 ...
- SpringMVC快速复习(超详细)
目录 一.SpringMVC简介 1.什么是MVC 2.什么是SpringMVC 3.SpringMVC的特点 二.HelloWorld 1.开发环境 2.创建maven工程 a>添加web模块 ...
- 调试分析 Linux 0.00 多任务切换
当执行完 system_interrupt 函数,执行 153 行 iret 时,记录栈的变化情况. 任务0在刚进入system_interrupt函数时(调用中断int 0x80处理程序),栈空间为 ...
- iview Input 必填不能未空 不能输入空格 v-model.trim required: true
iview Input 必填不能未空 不能输入空格 v-model.trim required: true 需求 测试在验证必填的时候,会输入一个空格,本着空格不算内容的原则,会提一个bug 解决方案 ...
- 软件推荐 Notable / 现改用 Vnote 了
https://notable.app/#download
- Java GUI swing 可执行程序 jar (java -jar)idea
创建项目 可以用maven idea设置 into 那个 参考资料 Java 基础 https://www.liaoxuefeng.com/wiki/1252599548343744/12604545 ...
- Hibernate之list和iterator
在Hibernate3中将Session.find(),Session.iterator()换成:session.createQuery().list(),session.createQuery(). ...
- 标记SA_RESTART的作用
在程序执行的过程中,有时候会收到信号,我们可以捕捉信号并执行信号处理函数,信号注册函数里有一个struct sigaction的结构体,其中有一个sa_flags的成员,如果sa_flags |= S ...