C# 读书笔记之访问关键字this和base
this 关键字引用类的当前实例。静态成员方法中不能使用this关键字,this关键字只能在实例构造函数、实例方法或实例访问器中使用。
base 关键字用于从派生类中访问基类的成员。
指定创建派生类实例时应调用的基类构造函数;
调用基类上已被其他方法重写的方法。
注意:不能从静态方法中使用base关键字,base关键字只能在实例构造函数、实例方法或实例访问器中使用。
例:访问关键字this和base关键字示例;创建基类Person,包含两个数组成员name和age、一个具有两个参数的构造函数、一个虚函数GetInfo()以显示数据成员name和age的内容;创建派生类Student,包含一个数据成员studentId,一个具有三个参数的派生类构造函数,并用:base调用基类构造函数、并重写所继承基类的虚方法GetInfo(),调用基类的方法显示name和age的内容。
namespace ConsoleApplication
{ public class Person //基类、等同于public class Person:Object
{ public string name;
public uint age; public Person(string name,uint age)//基类的构造函数
{
this.name = name; //this 关键字引用类的当前实例
this.age = age; //this 关键字引用类的当前实例
} public virtual void GetInfo()
{
Console.WriteLine("Name: {0}",name);
Console.WriteLine("Age:{0}",age);
}
} public class Student:Person//派生类
{ public string studentId; //派生类构造函数并用:base调用基类构造函数
public Student(string name,uint age,string studentId):base(name,age)
{
this.studentId = studentId;
} public override void GetInfo()
{
//调用基类方法
base.GetInfo(); Console.WriteLine("StudentId: {0}",studentId);
} } public class Program
{ static void Main(string[] args)
{ Student objstudent=new Student("jeamsluu",,"");
objstudent.GetInfo();
Console.ReadKey();
}
}
}
程序运行结果:

C# 读书笔记之访问关键字this和base的更多相关文章
- Struts 2读书笔记-----Action访问Servlet API
Action访问Servlet API Struts2中的Action并没有和任何Servlet API耦合,这样框架更具灵活性,更易测试. 对于Web应用的控制器而言,不访问ServletAPI是几 ...
- C# 读书笔记之访问虚方法、重写方法和隐藏方法
C#允许派生类中的方法与基类中方法具有相同的签名:基类中使用关键字virtual定义虚方法:然后派生类中使用关键字override来重写方法,或使用关键字new来覆盖方法(隐藏方法). 重写方法用相同 ...
- 《大型网站系统与JAVA中间件实践》读书笔记-数据访问层
数据访问层 5.1.2数据库垂直/水平拆分的困难 随着网站业务的快速发展,数据量和访问量不断上升,数据库的压力越来越大. 更换更好的硬件(Scale Up)是一种解决方案,而且在我们能付得起硬件费用并 ...
- 《.NET程序员面试秘籍》读书笔记
1. 简述 private. protected. public. internal 修饰符的访问权限. private :设置类或类的成员为私有,在类的内部才可以访问.有时要访问私有成员时,可通过g ...
- TIJ读书笔记05-this关键字
TIJ读书笔记05-this关键字 概述 this的用法 static方法 概述 两个对象同时调用一个方法,那么jvm怎么知道是哪个方法调用的呢. 我们在书写的时候会写成a.fun(1) 或者b.fu ...
- 读书笔记之第五回深入浅出关键字---把new说透
第五回深入浅出关键字---把new说透 ------你必须知道的.net读书笔记 new一个class时,new完成了以下两个方面的内容:一是调用newobj命令来为实例在托管堆中分配内存:二是调用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- 《C#高级编程》读书笔记
<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) sh ...
- js读书笔记
js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...
随机推荐
- go-vim配置
一.环境准备: 系统环境说明: [root@docker golang]# cat /etc/redhat-release CentOS Linux release (Core) [root@dock ...
- Unity3d 要点板书
WWW.unity3d.com.cn Unity Project unity的项目文件/专案 Scene unity的场景文件 Scene 场景视窗 Game 预览视窗 H... 物件视窗 Pro ...
- .NET读取Project 2007 MPP项目文件
Project文件读取: 方法1:Microsoft.Project.OLEDB.11.0 string strConn = "Provider=Microsoft.Project.OLED ...
- HTML5增加的几个新的标签
HTML5又2008年诞生,HTML5大致可以等同于=html+css3+javascriptapi.... so --->支持css3强大的选择器和动画以及javascript的新的函数 先来 ...
- Android基础知识巩固:关于PendingIntent和广播
平时使用广播的场合比较多,但细节的东西,看过了也没有总结,以至于某些场合有小问题,还是要把原理和属性搞清楚才能运用自如. 其实也是自己比较懒,先看别人的blog,有个概念再去官网看英文的能好理解一些. ...
- Scala学习之for 循环和 yield 的例子
for循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合.Scala中for循环是有返回值的.如果被循环的是Map,返回的就是Map,被循环的是List,返回的就是Lis ...
- font awesome使用笔记
背景 今天将BS项目部署到IIS服务器上时.首次打开一个使用font awesome图标集的页面是加载非常慢. 于是果断按下F12查看具体页面的请求时常.除去其他异步数据的加载消耗时间以外.我居然看到 ...
- jQuery 插件入门
先看http://www.cnblogs.com/lideng/p/3605551.html http://www.cnblogs.com/xcj26/p/3345556.html (非常细致 很多 ...
- JavaEE Tutorials (12) - 创建和使用基于字符串的Criteria查询
12.1基于字符串的Criteria API查询概述17812.2创建基于字符串的查询17812.3执行基于字符串的查询179
- Codeforces 711E ZS and The Birthday Paradox(乘法逆元)
[题目链接] http://codeforces.com/problemset/problem/711/E [题目大意] 假设一年有2^n天,问k个小朋友中有两个小朋友生日相同的概率. 假设该概率约分 ...