VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之面向对象三大特性之继承

什么是继承?

    继承是将两个类中相同的属性及方法抽取出来,放到一个新的类中(父类),而这两个子类依然拥有这些属性和方法。抽象点的

    说,每辆车子都能跑(拥有跑的方法),都有轮胎(有轮胎这个属性)。

 

使用继承编程的好处?

    使用继承编程可以大大的减少代码冗余,增加代码复用。

 

如何使用继承?

    以第一问为例做延伸:假若我们现在需要两个类,一个货车类,一个轿车类。代码如下

 示例 : 未使用继承

 

    通过这段代码不难发现,货车类和轿车类拥有三个相同的属性,一个不同的方法。根据继承的特性,需要把相同的属性或方法抽

    取出来。代码如下

 示例 : 使用继承

     

    那么问题又来了,继承的特性-代码复用体现在哪里呢?下面我们简单地了解一下。

    在第一段代码中,有两个类,如果我们想在创建对象时使用带参构造函数来初始化属性的话,要在两个类中都写上相同的一段代

    码。(构造函数详解)

 示例 : 冗余的代码

 

    显而易见,上面的重复代码很多。下面我们使用继承来简化一下上面的代码。

 示例 : 简化的代码

 

    使用了继承之后,即使再多的派生类需要带参构造函数,也不怕了,只要一行代码即可完成。

    Base关键字:

      base关键字表示父类,可以用于访问父类的成员。例:base.父类成员。

 

      除了上面通过base显示的调用父类带参构造函数外,创建子类对象时还会隐式的调用父类的无参构造函数。(创建子类对象时

    会先调用父类的无参构造函数。)

 

进一步了解和使用继承

    继承的特性:

        1.传递性:继承可以无限的向下派生,但是需要符合一个条件:子类可以出现在父类出现的地方并替换父类,即子类

           拥有父类的全部特征和能够实现父类的全部方法。

        2.单根性:一个子类只能继承自一个父类。不存在一个子类同时继承自两个或多个父类的情况。

    is a关键字:

        这个关键字用来判断对象是否属于给定的类型。返回值为bool类型。

        例:

            if (Vehicle is Truck)

            {
                ...
            }

    sealed关键字:

        用这个关键字修饰的类是不能被继承的,即密封类。常用的string类就是密封类。本文只做了解,后更示例。

 

至此,关于继承已经讲得差不多了,下面是本文用到的所有代码,希望可以帮到看到此处的你。

 完整代码

 

    

 

 

 

 结尾语:学到知识不与人分享,犹如衣锦夜行,毫无意义。

 

 


2017-02-23  22:02:34补充

    as关键字:

        as关键字可以进行对象之间的类型转换,可以替代强制类型转换。和强制类型转换不同的是,使用as关键字类进行类型

        转换如果转换失败会返回null,不会产生异常;而强制类型转换在转换失败时会产生异常。

        语法:

            父类   as   子类

    重载构造函数:

        如果子类重载的构造函数没有使用base关键字来指明调用父类的哪个构造函数,则父类必须提供一个默认的构造函数。

 

欢迎提出意见或建议!!!
 
分类: C#


相关教程