71-多态

作者: 仰望_IT | 来源:发表于2019-04-27 11:07 被阅读0次
  • 什么是强类型语言, 什么弱类型语言
    • 什么是强类型语言:
      • 一般编译型语言都是强类型语言
        强类型语言, 要求变量的使用要严格符号定义
        例如定义int num; 那么num中将来就只能存储整型数据
    • 什么是弱类型语言:
      • 一般解释型语言都是弱类型语言
        弱类型语言, 不会要求变量的使用要严格符合定义
        例如定义 let num; num中既可以存储整型, 又可以存储布尔类型等
    • 由于js语言是弱类型的语言,所以我们不用关注多态
  • 什么是多态?
    • 多态是指事物的多种状态
      • 例如:
        按下F1键这个动作,
        如果当前是在webstorm界面下弹出的就是webstorm的帮助文档
        如果当前是在Word界面下弹出的就是Word的帮助
        同一个事件发生在不同的对象上会产生不同的效果
  • 多态在其他编程语言中的体现
    • 父类型变量保存子类型对象, 父类型变量保存当前的对象不同, 产生的结果也不同

      // 在其他编程语言中多态需要通过配合继承实现
      // 用js模拟其他编程语言
          function Animal(myName) {
              this.name = myName;
              this.eat = function () {
                  console.log(this.name + " 动物吃东西");
              }
          }
          function Dog() {
              Animal.call(this, myName);
              this.eat = function () {
                  console.log(" 狗吃东西");
              }
          }
          Dog.prototype = new Animal();
          Dog.prototype.constructor = Dog;
      
          function Cat() {
              Animal.call(this, myName);
              this.eat = function () {
                  console.log(" 猫吃东西");
              }
          }
          Cat.prototype = new Animal();
          Cat.prototype.constructor = Cat;
      
          function feed(Animal animal) {
              animal.eat();
          }
          function feed(animal){
              animal.eat();
          }
      
      // 在js中默认就是多态
          function Dog() {
              this.eat = function () {
                  console.log(" 狗吃东西");
              }
          }
      
          function Cat() {
              this.eat = function () {
                  console.log(" 猫吃东西");
              }
          }
      
          function feed(animal){
              animal.eat();
          }
          let dog = new Dog();
          feed(dog);
      
          let cat = new Cat();
          feed(cat);
      

相关文章

  • 71-多态

    什么是强类型语言, 什么弱类型语言什么是强类型语言:一般编译型语言都是强类型语言强类型语言, 要求变量的使用要严格...

  • 篆刻习作71

    习作71-清且俭 刻了个小闲章,清且俭

  • 1.9 多态基本概念

    本小节知识点: 【了解】什么是多态? 【掌握】多态的条件 【了解】多态的优点 1.什么是多态? 什么是多态:多态就...

  • 万卷书——图书目录(71-80)更新中

    71-《这样写出好故事》1[https://www.jianshu.com/p/36034895bbbb] 20...

  • C++ 的多态(Polymorphism), virtual f

    多态 c++支持两种多态,编译时多态和运行时多态但其实编译时多态根本不是真正的多态,编译时多态就是函数的重载,ov...

  • 详解Java多态

    详解Java多态 多态定义 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态...

  • 多态

    1.多态 1.多态 1.1 要点 多态是方法的多态,不是属性的多态 多态的存在有三个必要条件:继承;方法重写;父类...

  • java多态面试题

    java多态性 多态分两种: (1) 编译时多态(设计时多态):方法重载。 (2) 运行时多态:JAVA运...

  • Java_basic_10: 多态polymorphism

    多态polymorphism 多态是指对象的多种形态 主要可以分为引用多态和方法多态 继承是多态的实现基础 引用多...

  • 71-牵肠挂肚

    今天我又被闺女牵肠挂肚了。怎么回事? 昨天晚上,她兴冲冲跟着她表姐去姑婆婆家玩。还说要住两天才回来?我说明天姐姐要...

网友评论

      本文标题:71-多态

      本文链接:https://www.haomeiwen.com/subject/uubhnqtx.html