前两天重新看了《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#高级编程》(继承)的更多相关文章

  1. 重学《C#高级编程》(序)

    小生码农一枚,以前只是看别人写博客,从来没有想过要自己写博文,突然之间“脑抽”想自己也写点什么,遂在博客园开通这个博客. 简单介绍下自己吧,本人90后,父母对我没有大的想法,只是希望我平安成长,多学习 ...

  2. 重学《C#高级编程》(对象与类型)

    昨天重看了下<C#高级编程>里面的对象与类型一章,发现自己有许多遗漏没懂的地方重新弄清楚明白了 先说说什么是对象吧,我个人的感觉是:在编程的世界里,一段程序就是一个事物的处理逻辑,而对象就 ...

  3. (十一) 一起学 Unix 环境高级编程 (APUE) 之 高级 IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  4. (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  5. (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  6. (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  7. (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  8. (七) 一起学 Unix 环境高级编程(APUE) 之 进程关系 和 守护进程

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  9. (八) 一起学 Unix 环境高级编程 (APUE) 之 信号

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

随机推荐

  1. js页面跳转

    js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/java ...

  2. Hibernate 缓存机制(转)

    一.why(为什么要用Hibernate缓存?) Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数 ...

  3. Mysql主从复制的配置(双机互为主从)

    目的: 让两台mysql服务器可以互为主从提供同步服务. 优点: 1. mysql的主从复制的主要优点是同步"备份", 在从机上的数据库就相当于一个(基本实时)备份库. 2. 在主 ...

  4. ECSTORE 关于前台页面DIALOG的调用

    在需调用dialog的html页面中插入本段代码. link='<{link app=test ctl=site_test act=abc}>'; var dialog = new Dia ...

  5. SQL复制表结构和数据

    1.复制表结构和数据 select * into 目的数据库名.dbo.目的表名 from 原表名 select * into my0735home.dbo.infoMianTest from inf ...

  6. github 提交时候提示 org.eclipse.jgit.errors.ObjectWritingException: Unable to create new object: /usr/local/apache243/ht

    只需要执行 chmod -R 777 ./*  把 .git文件权限设置为 777便可以实现.

  7. cxf-webservice-在was6服务器上运行

    最近开发了一个webservice服务,采用了常用的cxf框架. 本地jetty测试一切ok,发布到现场环境was服务器中,就报错,不能运行. 访问services页面报错为 Error 500: S ...

  8. nhibernate 3.3 linq扩展

    nhibernate的sqlserver linq 全文检索搞了半天 方法一 ,扩展LinqToHqlGeneriatorsRegistry http://www.cnblogs.com/xiarug ...

  9. findstr 只搜寻指定文件类型

    Title:findstr 只搜寻指定文件类型 --2012-05-04 09:27 findstr /i /m /S /C:"关键字"  *.php *.asp *.jsp

  10. quartz2.2.1-测试02-通过servlet动态修改定时任务运行时间

    /* * To change this license header, choose License Headers in Project Properties. * To change this t ...