• 深入.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的方法,但是关系太紧密,不便于扩展和替换;

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

  • 相关阅读:
    Android 测试工具集01
    Android ImageView的ScaleType属性
    Android Webview与Html5交互
    Java Notes 00
    Android 显示原理简介
    Android开发在路上:少去踩坑,多走捷径
    Android_Dialog cancle 和dismiss 区别
    SpringMVC框架
    Redis持久化
    Redis集群
  • 原文地址:https://www.cnblogs.com/why168888/p/4283603.html
Copyright © 2020-2023  润新知