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

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

  • 相关阅读:
    Python 爬虫js加密破解(一) 爬取今日头条as cp 算法 解密
    Python 爬虫实例(2)—— 爬取今日头条
    Python 爬虫实例(1)—— 爬取百度图片
    python 操作redis之——HyperLogLog (八)
    python 操作redis之——有序集合(sorted set) (七)
    Python操作redis系列之 列表(list) (五)
    Python操作redis系列以 哈希(Hash)命令详解(四)
    Python操作redis字符串(String)详解 (三)
    How to Install MySQL on CentOS 7
    Linux SSH远程文件/目录 传输
  • 原文地址:https://www.cnblogs.com/why168888/p/4283603.html
Copyright © 2011-2022 走看看