NodeJs OOP的实现

本文介绍如何在Node.js中实现面向对象编程(OOP),包括静态私有成员、静态公共成员、继承及方法覆盖等内容。通过ModuleA和ModuleB两个模块的具体示例,展示了构造函数、私有变量和方法、公共方法以及子类对父类方法的覆盖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NodeJs OOP的实现

 

   ModuleA.js

 

//static private
var static_private_name = "ModuleA_static_private_name";
//static public
ModuleA.static_public_name = "ModuleA_static_public_name";

function ModuleA() {
	this.public_name = "ModuleA_public_name";
	var private_name = "ModuleA_private_name";

	this.public_hello = function() {
		console.log("hello, my private_name is " + private_name + "\n" +
			" public_name is " + this.public_name + "\n" +
			" static_public_name is " + ModuleA.static_public_name + "\n" +
			" static_private_name is" + static_private_name);
	}
}

module.exports = ModuleA;

 

    ModuleB.js

 

   

//static private
var static_private_name = "ModuleB_static_private_name";
//static public
ModuleB.static_public_name = "ModuleB_static_public_name";

//extends class
var superCls = require('./ModuleA');
require('util').inherits(ModuleB, superCls);
//constuctor
function ModuleB() {
	//super();
	superCls.call(this);

	//public prop
	this.public_name = "ModuleB_public_name";
	
	var private_name = "ModuleB_private_name";
        //override super method
	var superPublic_hello = this.public_hello;
	this.public_hello = function() {
		console.log("override");
		superPublic_hello.call(this);
	}
}

module.exports = ModuleB;

 

  

var ModuleA = require("./ModuleA");
var ModuleB = require("./ModuleB");

var insA = new ModuleA();
//insA.public_hello();

var insB = new ModuleB();
insB.public_hello();

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值