zoukankan      html  css  js  c++  java
  • 深入理解多态..............................

     2017年03月15日
       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
    打字员 程序员

    老板:定岗:Typer


        
  • 相关阅读:
    递归算法解析成树形结构
    Tomcat性能参数设置
    hibernate.cfg.xml 配置(摘录)
    OpenCms 集成外部Solr Server
    安装配置OPENCMS的Replication cluster(从)详细过程
    ruby 格式化当前日期时间
    Ruby 语法快速入门
    ruby condition
    配置 RAILS FOR JRUBY1.7.4
    我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(五)框架及Web项目的组件化
  • 原文地址:https://www.cnblogs.com/zfx123--/p/6575024.html
Copyright © 2011-2022 走看看