zoukankan      html  css  js  c++  java
  • Constructor(构造器)模式

    构造器模式简单描述(看图):

    构造器用于创建特定类型对象——准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值

    1、创建对象

    新对象创建的两种方法

    var newObject={};
    var newObject=new object();//object 构造器的简洁记法

    2、基本Constructor

    Javascript不支持类的情况下对象与Constructor,通过new关键字实例化一个对象,代码大概是这样的

    function Car(model,year,miles){
    this.model=model;
    this.year=year;
    this.miles=miles;
    this.toString=function()
    {
    return this.model+"has done"+this.miles+"miles";
    };
    };

    //用法
    //可以创建car新实例
    var civic=new Car("Hona Civic",2009,2000);
    var mondeo=new Car("Ford Mondeo",2010,5000);
    console.log(civic.toString());
    console.log(mondeo.toString());

    3、带原型的Constructor

    JavaScript 有prototype属性。及调用JavaScript构造器创建一个对象后,新对象就会具有构造器原型的所有属性。同过这种方式,可以创建多个Car对象(访问相同的原型)

    funcion() Ca(model,year,miles){
    this.model=model;
    this.year=year;
    this.miles=miles;
    //注意使用Object.prototype.newMethod 而不是Object.prototype是为了重新定义prototype对象
    Car.prototype.toString=function(){
    return this.model+"Has done" +this.miles+"miles";
    };
    };
    //用法
    var civic=new Car("Honda Civic",2009,20000);
    var momdeo=new Car("Ford Mondeo",2010,5000);
    console.log(civic.toString());
    console.log(mondeo.toString());
    现在toString()的单一实例就能够在所有Car对象之间共享了

  • 相关阅读:
    leetcode--95. Unique Binary Search Trees II
    leetcode--96. Unique Binary Search Trees
    leetcode分类总结
    leetcode-115. Distinct Subsequences
    tcpdump安装配置及抓包分析
    dp经典案例
    tree的各种问题
    大数的阶乘算法
    由mmap引发的SIGBUS
    win10系统下如何查看端口被哪个进程占用
  • 原文地址:https://www.cnblogs.com/luwei-s/p/5129972.html
Copyright © 2011-2022 走看看