• 深入理解多态 笔记


     1.继承:如果类A从类B中可以获取到公共信息,那么这种机制称为继承。

        2.关于base关键字
           base.父类属性
           base.父类方法
           base()

        3.protected 受保护的。在当前类和子类中可以访问。(锁定/限定的对象:类中的变量)
         
        4.子类构造揭秘

        5.继承的两个特性,单根性 和 传递性(子类的子类可以获取到父类的信息)

        6.多态:
           多个对象,,,对于同一个操作,做出的响应不同。这种机制称为多态。
        7.构成多态的条件
          父类要有虚方法,子类需要用Override关键字重写虚方法。

    7.多态高级   Java++
    1.多态
      里氏替换原则:
        子类除了可以具有父类非私有的成员和方法外,还可以
    拥有自己特有的成员变量和方法。

     2.is和as
       is做的是类型判定
       as做的是类型转换 ,()强转。本行code不会有错误,如果转换不了。返回null
       
     3.父类的虚方法,在子类中不必强制重写
       父类的抽象方法,子类必须强制重写。?
     
     4.抽象方法实现多态
       父类得是抽象类,而且定义了抽象方法
       子类必须重写抽象方法
       
     5.抽象类和抽象方法注意点:手写()
       1.抽象类使用Abstract关键字修饰。
       2.抽象方法只能位于抽象类中。
       3.抽象类不能实例化 
       4.抽象方法不能有方法体,甚至连{}都没有 
       5.抽象类不能是静态类或者密封类
       6.子类必须重写抽象类中的所有抽象方法,除非子类本身也是一个抽象类
       7.抽象类中可以有普通方法
       8.抽象类可以有构造函数
       9.重写所有抽象方法的快捷键是Ctrl+.
       10.抽象类中抽象方法就是用来约束子类方法形式(签名)的
       
       原理要解:抽象类其实是可以实例化的,但是他的实例化方式不是通过new方式来创建对象,
       而是通过父类的引用来指向子类的实例来间接地实现父类的实例化
       (因为子类要实例化前,一定会先实例化他的父类。这样创建了继承抽象类的子类的对象,
       也就把其父类(抽象类)给实例化了).
       
       结论:抽象类是可以实例化的,不能通过new实例化,可以通过子类构造自动调度父类构造实例化
     6.接口
          项目中业务必须使用接口。
      后来:接口就一个用Interface 修饰的++++++++++开发中的接口
      
      1.接口也是一种数据类型
      2.案例:飞机和小鸟都能飞,他们都实现了IFly这个接口。但是他们飞翔的方式不同。这也是多态的一种实现方案
           一个类实现一个接口 100个方法 ,其中只有一个方法必须要实现的。

        .method public hidebysig newslot abstract virtual instance void Fly() cil managed
        {
        }

          3.接口污染
      
      4.一个类实现N个接口,就是之前我们提到的变相的多继承。
       类和接口:类实现接口
       
       接口和接口 :继承
       
          5.父类变量指向子类对象
        Typer和Coder

  • 相关阅读:
    hdu2243之AC自动机+矩阵乘法
    jstl
    HDU 3360 National Treasures 奇偶匹配的最低点覆盖
    【UVA】11992
    what is the difference between definition and declaration in c
    UVALive 6485 Electric Car Rally (BFS,PQ)
    Android发展_备份短信
    vxWorks 命令
    【C++智能指针 auto_ptr】
    Get and Post(Unity3D六个发展)
  • 原文地址:https://www.cnblogs.com/shiwz/p/6598708.html
Copyright © 2020-2023  润新知