node.js继承

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();

转载于:https://www.cnblogs.com/wz27ufo/p/6905771.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值