Node.js继承中的静态类对象(《node.js开发实战详解》书中一些错误的改正)

  今天气真好,最近挂掉一些面试之后心情略失落。

  神马都是浮云,要永远做好世界第二。

  不多提了,你问我心态为啥变好了。-------都是情怀,,。

  嗯啊,最近在研究node。

  别人问?你这水平还node...

  哈哈哈,好伤心....

  不多提了,言归正传。

  神马模块化神马的先就不多讲了,就一个module.export和export区别,后者对象的属性属于前者,逆命题不成立。

  还有util.inherits(A,B)这个API注意一下A只会继承B的原型方法,原型以外的不会继承。不是说原型中数据是共享的嘛,估计这个函数也就是创建一个引用啦。

  好啦进入正题,《node.js开发实战详解》这本书还是挺面向入门者的,但是第二章看完之后,就觉得好像有些不对劲。

  书中提到观察者模式,好像没有专门一节讲,一个例子在课后实战里...呃...目录里面确实没有观察者...唉这都是小问题。

  这个静态类中还是发现了些小问题的:

  这里是一个基类。person.js文件名。

/*定义person基类*/
module.exports=function(){
    this.name='person';
    this.sleep=function(){
        console.log('person sleep');
    }
    this.eat=function(){
        console.log('person eat');
    }
}

  然后这里是一个派生类,student.js的文件名

var util=require('util');
var Person=require('./person');
function Student(){
    Person.call(this);
    util.inherits(Student,Person);
    this.study=function (){
        console.log('study person');
    }
}
var person=new Student();//其实主要说的是这里,书上是这么写的var person=new Person();呃明显不是啦,如果是的话还有Student()方法干嘛,摁就这么点问题。
exports.study=person.study;
exports.eat=person.eat;
exports.sleep=person.sleep;

  然后是运行文件app.js。

var student =require('./student');
student.study();
student.eat();
student.sleep();

  呃..这么快就说完了?恩吧,再看到别的问题再这下面更新。打个标:2015-4-13-16-46(逝者如斯夫,不舍昼夜。唉)

原文地址:https://www.cnblogs.com/stonl/p/4422582.html