码迷,mamicode.com
首页 > Windows程序 > 详细

重学《C#高级编程》(继承)

时间:2015-07-30 00:37:30      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

  前两天重新看了《C#高级编程》里的第四章:继承与第六章:数组。OOP三大特性:封装,继承,多态,个人感觉继承是实现多态的基础,包括以后接触的设计模式,都是继承特性的衍生。

  继承特性有两种,实现继承接口继承

  实现继承

 1     public class A
 2     {
 3         private string _str;
 4         public string Str { get { return _str; } set { _str = value; } }
 5 
 6         public void Amethod()
 7         {
 8         }
 9     }
10 
11     public class B : A
12     {
13         private int _num;
14         public int Num { get { return _num; } set { _num = value; } }
15 
16         public void Bmethod()
17         { 
18         }
19     }

  上面的例子中 B类继承自A类,它可以有A的开放属性和方法,这些都是基础的,就不一一讲解了,自己看书比较快,懒得说。说下平时用得比较少的,容易忘记的东西吧,一个是构造函数,继承体系中的构造函数是从父级函数一级一级往下构造的。

技术分享

  例如上面的例子中:实例化一个B类,会先实例化一个父类,也就是A类,然后才会实例化B类。

  重构方法:当B类需要新建一个在A类已经存在的方法,如果A类的方法有标记是可以重构的,则B类可以在新方法中添加关键字 override重构该方法,否则就需要在B类方法前添加 new 关键字隐藏A类方法。

  接口继承

  所谓接口接口继承,按照不规范说法其实就是实现接口。接口规范有个比较容易忽略的地方时,接口可以规范属性(不是字段),其他的好像都差不多。个人感觉,接口其实就像一份规章制度,你要加入某个圈子,就必须遵守某个圈子的规章制度。

  举例:想参加一场赛车比赛,肯定要报名参赛,具有一辆赛车,参加比赛。其中“报名参赛”,“有一辆赛车”,“参加比赛”,就抽象出来的接口里面的方法和属性。而要参加赛车的对象,就必须实现这个接口,也就是这几个方法和属性。赛车要实现这个接口,但又不会限定你如何去实现,报名可以微信报名,线下报名,电话报名......赛车可以是宝马,奔驰,路虎,本田.....参加比赛,可以跑50码,可以跑40码,甚至可以停在赛道上

重学《C#高级编程》(继承)

标签:

原文地址:http://www.cnblogs.com/wise-zhang/p/4687856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!