zoukankan      html  css  js  c++  java
  • 面向对象之工厂模式和构造函数模式

    工厂模式:用函数来封装,以特定接口来创建对象的细节。

    创建的对象是Object类型
    function person(name, age , job){
        var o  =new Object() ;
        o.name = name;
        o.age = age ;
        o.job = job ;
        o.sayName = function(){
            alert(this.name);
        };
        return o ;
    
    
    
    var person1 = new person("cancan",21,"student");
    var person2 = new person("xiaoma",45,"teacher");

       console.log(person1 instanceof person); // false
       console.log(person1 instanceof Object);//true
       console.log(person instanceof person); //true



    构造函数模式:构造函数可以创建特定类型的对象,自定义对象的属性和方法

    function person(name,age,job){
        this.name = name ;
        this.age = age ;
        this.job = job ;
        this.sayName = function(){
            alert(this.name);
        };
    
    }
    
    var person1 = new person("cancan",21,"student");
    var person2 =new person("xiaoma",45,"teacher");

      console.log(person1 instanceof person); // true
      console.log(person instanceof Object); // true

    构造函数与工厂函数之间不同:
    1.工厂函数针对的都是Object的对象模型,而构造函数可以匹配自定义的对象模型(如上例)
    2.工厂函数创建对象,以及要有有返回值,构造函数不需要,但他们均继承于Object
     
     
  • 相关阅读:
    hdu 5366 简单递推
    hdu 5365 判断正方形
    hdu 3635 并查集
    hdu 4497 数论
    hdu5419 Victor and Toys
    hdu5426 Rikka with Game
    poj2074 Line of Sight
    hdu5425 Rikka with Tree II
    hdu5424 Rikka with Graph II
    poj1009 Edge Detection
  • 原文地址:https://www.cnblogs.com/cty97/p/6785441.html
Copyright © 2011-2022 走看看