码迷,mamicode.com
首页 > Web开发 > 详细

node.js继承

时间:2017-05-25 22:08:08      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:span   func   size   对象   ons   mod   obj   动态   定义   

person.js

module.exports = function(){
  this.name = "person";
  this.sleep = function(){
    console.log("sleep in the night");
  }
  this.eat = function(){
    console.log(‘eat food‘);
  }
}

 

student.js

var util = require("util");
var Person = require(‘./person‘);

//定义student类
function Student(){
  Person.call(this);
}

//将Student继承Person
util.inherits(Student,Person);

//重写study方法
Student.prototype.study = function(){
  console.log("I am learning");
}

//暴露Student类
module.exports = Student;

 

testInherits.js

var Person = require(‘./person‘);
var Student = require(‘./student‘);

var personObj = new Person();
var studentObj = new Student();

console.log("-------for base class of person-------");
personObj.sleep();
personObj.eat();
console.log("---------------------------------");

console.log("-------for base class of student-------");
studentObj.sleep();
studentObj.eat();
studentObj.study();
console.log("---------------------------------");

 

静态调用

var util = require("util");
var Person = require(‘./person‘);

//定义student类
function Student(){
  Person.call(this);
}

//将Student继承Person
util.inherits(Student,Person);

//重写study方法
Student.prototype.study = function(){
  console.log("I am learning");
}

//将该动态对象的方法直接暴露给module.exports

var student= new Student();
module.exports.study = student.study;

module.exports.eat = student.eat;

module.exports.sleep = student.sleep;

//静态调用测试,无需实例化Student对象,

 var Student = require(‘./student‘);

Student.sleep();
Student.eat();
Student.study();

node.js继承

标签:span   func   size   对象   ons   mod   obj   动态   定义   

原文地址:http://www.cnblogs.com/wz27ufo/p/6905771.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!