美文网首页
面向对象-1:对象创建、调用 / new实例化->构造函数 /

面向对象-1:对象创建、调用 / new实例化->构造函数 /

作者: kino2046 | 来源:发表于2019-11-16 02:34 被阅读0次

    面向对象编程思想

     一、面相过程:注重解决问题的步骤,分析问题需要的每一步,实现函数依次调用;

     二、面相对象:是一种程序设计思想。将数据和处理数据的程序封装到对象中;

     三、面相对象特性: 抽象、 继承、封装、多态

    优点:提高代码的复用性及可维护性;


    Javascript 是一种基于对象的语言,几乎所有东西都是对象;

    对象创建方法:

        1- 字面量创建(比构造函数创建性能好)

        2- new Object()构造函数创建

        3- Object.create()创建:创建对象的原型;

    对象的调用


    new运算符

    new的特点:

    1.new能执行函数 

    2.自动创建空对象;

    3.this绑定到空对象;

    4 隐式返还this;

    通过new来改造工厂模式


    构造函数

        - 构造函数要通过new来调用,this指向Student

        - 约定俗成构造函数首字母大写

    构造函数性能

                公共空间存放公共方法 prototype ,更节约内存

    构造函数原型

                prototype和constructor

                        prototype固有属性  constructor--->Person;

                        Person.prototype.constructor === Person

    prototype原型

            - 通过new实例化出来的对象其属性和行为来自两个部分,一部分来自构造函数,另一部分来自原型。

            - 当声明一个函数的时候,同时也申明了一个原型 。

            - 原型本身是一个对象。

            - 对象属性方法查找规则;

    静态属性及方法

      - 静态方法里的this;

      - 扩展功能;


    工厂模式对比构造函数

        1.但是却没有解决对象识别的问题。即创建的所有实例都是Object类型。(不清楚是哪个对象的实例)

        2.工厂模式没有原型,占用内存


    工厂模式(了解就可以,推荐用构造函数)

    工厂模式解决了代码复用的问题;

    对象和类

    ​   一、对象:具体的某个事物;(如:小明、叮当猫)

    ​   二、类:一类事物的抽象;(如:人类、猫类)


    相关文章

      网友评论

          本文标题:面向对象-1:对象创建、调用 / new实例化->构造函数 /

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