深入.net(继承)

Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

 

 

继承、多态,学习目标:

       1、能够熟记定义和概念

       2、能够理解其内部意义

       3、能够运用到自己的编码实现中

 

如何进行代码的复用:

        ----- 自己写好了一段代码,理想状态(永远都不要再写了,直接用)

        ----- 当编写好一个类后,再编写其他类时,如果他们有“共同的属性”和“共同的方法”时,我们就可以考虑将其共有的部分,提取出来,便于后续的复用!

       步骤:

                  1、创建一个新的数据容器(类)

                  2、将需要“复用”的属性和方法,剪切到类中(父类)

                  3、在将新类,在其定义语法后,使用 : 父类 的方式建立两者的关联

 

            ---- 这就是我们所说的“继承”:             

                   继承的目的:实现“代码的复用”,新类继承了“原来一个类”,即具有原来那个类所拥有的属性和方法。

 

“继承”的特点及特性:  ---- 被继承的类:父类、基类;继承对方的类:子类、派生类

             1、子类继承父类后,具有父类所有对外公开的属性和方法

             2、子类的方法中,如何使用父类资源:base.父类资源、this.父类资源(父亲的也是你)

             3、但是父类无法获取“子类”自有的资源。(儿子的还是儿子的)

             4、不是所有的“父类”资源都可以被子类使用:

                      private         --- 私有的资源,只能在本类中使用,子类也无法使用。

                      protected   --- 该类资源,只被“本家族”的对象所使用,外部无法访问。

            5、“子类”继承“父类”满足: is  a 关系 【子类  is  a  父类】

                      ---- 当我们的程序中,一个类,完全可以被另外一个类所代替的话!我们就说他们之间满足“里氏替换原则”【子类完全可以替代父类】

            6、单根性 ---- 一个子类只能继承于一个父类

                  传递性 ---- 儿子可以继承父亲,孙子可以再继承儿子,且越后代的类获取的资源越多

           5、子孙类在创建对象实例时,先创建其父类,再创建其后续子类。

          6、 子类中bass的用法:

                          1、在子类的方法中,使用base调用父类的属性及方法

                          2、在子类的构造函数后,使用 :base()的方式,给父类传递构造参数

 

 

 private

在类中,才能被访问

protected

在类中,及子孙类中,才能被访问

internal

在本项目中(程序集),才能被访问

public

所有人都可以访问

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

小贴士:

        实现对现有“类”的复用:

                方式一:继承 ---->  is  a 关系 ----->  张三  is   a  李四(张三就说李四,具有李四的功能)

 

                     

                方式二:雇佣 ----> has a 关系 -----> 张三 has  a   李四(张三中有一个李四,拥有了四的功能)

                               

 

 

         两种方法的对比:

                  继承,不仅可以用于其对外属性和方法,还可以使用其protected的方法,但是关系太紧密,不便于扩展和替换;

                 雇佣,灵活,便于扩展,更有利于对“多个资源”同时进行复用

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。