美文网首页
面向对象

面向对象

作者: 年过古稀的Coder | 来源:发表于2018-02-23 14:34 被阅读0次
  • 面向过程:关注的是具体实现的过程
  • 面向对象:关注的是特征(具有的特性),注意:面向对象不是没有过程,而是不关注过程

对象的创建

在JS中对象的创建有两种方式

  • new Object()
  • {}

通过上述的两种方式,都已创建一个空的对象

我们通过在一个空的对象上添加特征来扩展我们想要的对象

在实际开发中,我们很可能会创建很多相同特征(类型)的对象,那么我们会把创建相同特征的对象的过程进行封装

new

  • 运算符

  • 通过new运算符运算的函数,会得到一个对象的结果

  • new 只能和函数配合使用

  • 通过new来执行一个函数的时候,如果该函数不需要传入任何参数,我们可以省略(),如果不传入参数,()也可以不带

  • new fn:在函数内部自动创建一个对象,并且this自动指向这个对象

  • 当我们通过new的方式去调用执行一个函数的时候

    1. 在函数内部自动创建一个空的对象
    2. 被该函数的this指向该对象
    3. 函数执行完成自动返回该对象
  • 当我们通过new的方式去调用执行一个函数的时候,返回

    1. 如果没有return,返回内部创建的空对象
    2. 如果有return
      1. return的是非对象,返回内部创建的空对象
      2. return的是对象,返回的就是return的对象
  • 返回总结:

    1. 无论是否有return,当我们通过new的方式去调用一个函数的时候,该函数一定会返回对象
    2. 如果有return返回对象,则优先返回return的对象
  • 通过new可以得到的对象,通过new执行函数就是用来创建对象的

  • 我们把new执行的函数称为:构造函数

    1. 构造函数与普通函数的区别就是是否用new来执行
    2. 为了和普通函数做个区分,通常情况下,我们会把即将作为构造函数的函数使用大驼峰来命名

构造函数 < - > 类

类:类型,对具有相同特征的对象的抽象描述

对象:由类创建出来的具体对象(实例),也称为实例对象

构造函数:类中用来创建对象的具体函数,类创建对象,类创建函数的时候调用的原型

  • 有时候,对象的一些特征所拥有的值也是一样的,那么如果每个对象对这样的相同值得特征也是独立保存一份的话,就会赵成资源浪费(内存占用),所以我们要去优化

原型

  • 为了使对象共有的特征方便维护和管理,所以有一种专门来管理和维护这些共同的特征的方法(手段)
  • 当一个函数被创建的时候,该函数下自动会有一个属性,其中一个属性交prototype,他的值是一个对象,我们通常酒吧构造函数创建的对象所拥有的共同特征保存在这些对象的prototype属性中
  • 当一个对象呗创建的时候,对象自动回创建一个属性,名称:proto,该属性也是一个对象,其实该属性就是他的构造函数的prototype属性
  • 对象的proto属性指向的位置,和 构造函数的prototype属性指向的位置相同
  • 当我们去调用一个对象下的属性或方法的时候,对象首先会在自身上查找是否该属性或方法,如果有则调用,如果没有,则会查找自己的proto属相上是否有这个属性或方法

总结

  • 我们通常把对象私有属性或方法放置在每个对象自身上
  • 我们通常把对象共有的属性或方法放置在这些对象的构造函数的原型下
  • 构造函数+原型

相关文章

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • 总结.Net基础知识——献给即将入坑的同行们(一期)

    什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • 20-OOP类与对象

    面向对象 Object Oriented 学习面向对象:XXOO 面向对象的学习: 面向过程和面向对象的区别: 面...

  • JavaScript面向对象核心知识归纳

    面向对象 概念 面向对象就是使用对象。面向对象开发就是使用对象开发。 面向过程就是用过程的方式进行开发。面向对象是...

  • 面向对象(未完成)

    面向对象 标签(空格分隔): 面向对象 第一章:面向对象(上) 什么叫面向对象 面向过程、面向对象、两者区别 构造...

  • 面向对象:创建对象&继承

    博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...

  • 面向对象

    了解什么是面向对象 首先,我们学习面向对象,要了解什么是面向对象,面向对象的重要概念:类,对象。 面向对象提出的这...

  • 面向对象的三大基本特征和五大设计原则

    1、面向对象概念 1.1、理解面向对象 面向对象是相对面向过程而言; 面向对象和面向过程都是一种思想; 面向过程:...

网友评论

      本文标题:面向对象

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