重学《C#高级编程》(继承)
前两天重新看了《C#高级编程》里的第四章:继承与第六章:数组。OOP三大特性:封装,继承,多态,个人感觉继承是实现多态的基础,包括以后接触的设计模式,都是继承特性的衍生。
继承特性有两种,实现继承和接口继承。
实现继承
public class A
{
private string _str;
public string Str { get { return _str; } set { _str = value; } } public void Amethod()
{
}
} public class B : A
{
private int _num;
public int Num { get { return _num; } set { _num = value; } } public void Bmethod()
{
}
}
上面的例子中 B类继承自A类,它可以有A的开放属性和方法,这些都是基础的,就不一一讲解了,自己看书比较快,懒得说。说下平时用得比较少的,容易忘记的东西吧,一个是构造函数,继承体系中的构造函数是从父级函数一级一级往下构造的。

例如上面的例子中:实例化一个B类,会先实例化一个父类,也就是A类,然后才会实例化B类。
重构方法:当B类需要新建一个在A类已经存在的方法,如果A类的方法有标记是可以重构的,则B类可以在新方法中添加关键字 override重构该方法,否则就需要在B类方法前添加 new 关键字隐藏A类方法。
接口继承
所谓接口接口继承,按照不规范说法其实就是实现接口。接口规范有个比较容易忽略的地方时,接口可以规范属性(不是字段),其他的好像都差不多。个人感觉,接口其实就像一份规章制度,你要加入某个圈子,就必须遵守某个圈子的规章制度。
举例:想参加一场赛车比赛,肯定要报名参赛,具有一辆赛车,参加比赛。其中“报名参赛”,“有一辆赛车”,“参加比赛”,就抽象出来的接口里面的方法和属性。而要参加赛车的对象,就必须实现这个接口,也就是这几个方法和属性。赛车要实现这个接口,但又不会限定你如何去实现,报名可以微信报名,线下报名,电话报名......赛车可以是宝马,奔驰,路虎,本田.....参加比赛,可以跑50码,可以跑40码,甚至可以停在赛道上
重学《C#高级编程》(继承)的更多相关文章
- 重学《C#高级编程》(序)
小生码农一枚,以前只是看别人写博客,从来没有想过要自己写博文,突然之间“脑抽”想自己也写点什么,遂在博客园开通这个博客. 简单介绍下自己吧,本人90后,父母对我没有大的想法,只是希望我平安成长,多学习 ...
- 重学《C#高级编程》(对象与类型)
昨天重看了下<C#高级编程>里面的对象与类型一章,发现自己有许多遗漏没懂的地方重新弄清楚明白了 先说说什么是对象吧,我个人的感觉是:在编程的世界里,一段程序就是一个事物的处理逻辑,而对象就 ...
- (十一) 一起学 Unix 环境高级编程 (APUE) 之 高级 IO
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- (七) 一起学 Unix 环境高级编程(APUE) 之 进程关系 和 守护进程
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- (八) 一起学 Unix 环境高级编程 (APUE) 之 信号
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
随机推荐
- 洛谷 P1515 旅行
P1515 旅行 题目描述 你要进行一个行程为7000KM的旅行,现在沿途有些汽车旅馆,为了安全起见,每天晚上都不开车,住在汽车旅馆,你手里现在已经有一个旅馆列表,用离起点的距离来标识,如下: 0, ...
- ACM中常用的C/C++函数
只大概说明功能,具体用法请自行百度. C函数 memset:按字节填充地址空间 sscanf:从一个字符串中格式化读取变量 sprintf:将变量格式化写入字符串中 atoi:字符串转int atof ...
- IIS7.5 APPCMD 简单用法及示例
1 添加应用程序进城池 appcmd.exe add apppool /name:test.com /managedRuntimeVersion:"v4.0" /managed ...
- java-map-EnumMap
在平常的项目中,enumMap是比较少用到的一种map,一般都不会使用到这种容器,那么我将从如下几个方面来阐述我对enumMap的理解 1.使用场景 在key是比较固定的情况下,使用enumMap是最 ...
- 使用Jstl异常:The absolute uri: http://java.sun.com/jsp/jstl/core cannot&nbs
错误提示是: org.apache.jasper.JasperException: This absolute uri http://java.sun.com/jsp/jstl/core ...
- mongodb 增加用户以及认证用户
test>use admin switched to db admin admin>db.addUser('yshy','yshy') { "user" : " ...
- 使用AlertDialog创建对话框的大致步骤
1.创建AlertDialog.Builder对象,该对象是AlertDialog的创建器.2.调用AlertDialog.Builder的方法为对话框设置图标.标题.内容等.3.调用AlertDia ...
- C++代码覆盖率工具Coverage Validator
市面上的C++代码覆盖率工具大都收费,Coverage Validator也不例外.Coverage Validator应该少有人听过,我也是在stackoverflow里听别人介绍的.所以下载了试用 ...
- Numerical Methods with MATLAB(1)
目前正在阅读MATLAB相关的书籍:Numerical Methods with MATLAB,现在感觉这本书写的还行, 细致基础,而且写的比较清楚,同时把malab和数值算法结合在一起. 目前刚看完 ...
- 黑马程序员_JavaIO流(四)
File概述 File类 用来将文件或者文件夹封装成对象. 方便对文件与文件夹的属性信息进行操作. File对象可以作为参数传递给流的构造函数. 了解File类中的常用方法. 字段:static St ...