• 原型的概念


    原型相关的概念

    1. 关于面向对象的概念
      • 类 class: 在 js 中就是构造函数
        • 在传统的面向对象语言中, 使用一个叫做类的东西定义模板. 然后使用模板创建对象.
        • 在构造方法中也具有类似的功能. 因此称其为类
          // 在 java 中, 最小的代码单位是 类
          class Program {
          // 成员
          }
          
      • 实例 ( instance ) 与对象 ( object )
        • 实例一般是指某一个构造函数创建出来的对象. 我们成为 xxx 构造函数的实例
        • 实例就是对象. 对象是一个泛称.
        • 实例与对象是一个近义词
      • 键值对与属性和方法
        • 在 js 中键值对的集合称为对象
        • 如果值为数据( 非函数 ), 就称该键值对为属性 property
        • 如果值为函数( 方法 ), 就称该键值对为方法 method
      • 父类与子类
        • 传统的面向对象语言中使用类来实现继承. 那么就有父类, 子类的概念
        • 父类又称为基类, 子类又称为派生类
        • 在 js 中常常称为父对象, 子对象. 基对象, 派生对象.
    2. 原型相关的概念
      • 神秘对象针对构造函数称为 "原型属性"
        • 神秘对象就是构造函数的原型属性
        • 简称原型
      • 神秘对象与构造函数所创建出来的对象也有一定关系
        • 关系是什么
        • 神秘对象针对构造函数创建出来的对象称为 "原型对象"
        • 简称原型
      • 对象继承自其原型
        • 构造函数创建的对象 继承自 构造函数的原型属性
        • 构造函数创建的对象 继承自 该对象的原型对象
        • 构造函数所创建出来的对象与构造函数的原型属性表示的对象是两个不同的对象
          • 原型中的成员, 可以直接被实例对象所使用
          • 也就是说实例对象直接 "含有" 原型中的成员
          • 因此 实例对象 继承自 原型
          • 这样的继承就是 "原型继承"
    3. 一些问题
      • {} 构造函数是什么?
      • 凡是字面量的对象都有构造函数
        • {} Object
        • [] Array
        • /./ RegExp
        • function ... Function

    如何使用原型

    为什么使用原型?

      为了提高代码的复用性

        属性不放在原型上:因属性表示一些特征,这些特征是容易改变

        方法放在原型上:因方法的处理方式是一样的,可以复用

    1. 利用对象的动态特性
      • 构造函数.prototype.XXX = vvvv;
    2. 利用直接替换
       Student.prototype = {
           sayHello: function () {},
           study: function () {}
       };
  • 相关阅读:
    【276】◀▶ Python 字符串函数说明
    Spring事务配置的五种方式 巨全!不看后悔,一看必懂!
    Android Developers:两个视图渐变
    《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记
    Android的TextView与Html相结合的用法
    嵌入式C语言优化小技巧
    vxworks获取系统时间编程
    【算法与数据结构】在n个数中取第k大的数(基础篇)
    字符集转换 字符类型转换 utf-8 gb2312 url
    java 从零开始,学习笔记之基础入门<Oracle_基础>(三十三)
  • 原文地址:https://www.cnblogs.com/lcf1314/p/5726784.html
Copyright © 2020-2023  润新知