【Javascript】OOP ‘终端' demo

stdlib.js

// 打包模块
module.exports = stdlib;

// 声明方法
stdlib.prototype.toString = toString;
stdlib.prototype.talk = talk;

// 声明变量
stdlib.prototype.className = null;

// 构造方法
function stdlib(name)
{
	this.className = ‘class: ‘ + name;
	// 获取IO流
	this.stdin = process.stdin;
	this.stdout = process.stdout;
};

// 方法
function toString() {
	return this.className;
};

function talk () {
	var interface = require(‘readline‘);
	var rl = interface.createInterface(this.stdin, this.stdout);
	rl.setPrompt(‘Nerds> ‘);
	rl.prompt();
	rl.on(‘line‘, function (cmd) {
		switch(cmd.trim()) {
			case ‘:q!‘:
				console.log(‘stream close!‘);
				process.exit(0);
				break;

			case ‘girlfriend‘:
				console.log(‘Dude,I bet you won`t :D‘);
				break;

			default:
				console.log(‘Say what? I might have heard `‘ + cmd.trim() + ‘`‘);
				break;

		}
		rl.prompt();
	}).on(‘close‘, function (cmd) {
		console.log(‘Enjoy js world, have nice day :D‘);
		process.exit(0);
	});
};

main.js

// 安装模块
var stdlib = require(‘./stdlib‘);
// 从模块中创建对象
var tsh = new stdlib(‘my stdlib‘);

console.log(tsh.toString());
tsh.talk();

node.js中采用 modules.exports = class 将某个类暴露供安装对应模块的文件使用

Lib.js:
module.exports = Lib;
function Lib() {}
...

UserFile.js 2:
var installModule = module(‘./Lib‘);
var instanceObject = installModule();
...

类似于java的打包和导入包

file 1:
package com;
public class Lib
{
.....
}

file 2:
import com.lib;
....

【Javascript】OOP ‘终端' demo

时间: 2024-10-02 01:50:39

【Javascript】OOP ‘终端' demo的相关文章

JavaScript之基础-15 JavaScript OOP(概述、对象模板)

一.JavaScript OOP 概述 OOP 概述 - 面向对象的语言 - 封装 - 把相关的信息(无论数据或方法)存储在对象中 - 继承 - 从其它对象获得属性和方法 - 多态 - 能以多种不同的形式运行函数或方法 - ECMAScript支持这些要求,因此可被是看做面向对象的 封装 - 回顾直接量创建对象 - 使用new调用Object构造函数创建对象语法 继承 - 对象方法 - toString() - toLocaleString() - valueOf() 二.JavaScript

javascript oop编程 — 实现继承的三种形式

javascript  oop编程  - 实现继承的三种形式[1] (1)模拟类的方式, 我们都知道js是原型继承机制,不存在class和instance分离的这种方式 假设,我们有两个类 function  Animal(){ this.name = "animal"; this.eat = function(){ consle.log("eating"); } } function Cat(){ this.say = function(){ console.lo

使用JavaScript OOP特性搭建Web应用

最近,我面试了一个有五年 Web 应用程序开发经验的软件开发人员.四年半来她一直在从事 JavaScript 相关的工作,她自认为 JavaScript 技能非常好,但在不久之后我就发现实际上她对 JavaScript 知之甚少.话虽这样说,但我确实没有责备她的意思.JavaScript 真的是很有趣.很多人(包括我自己,直到最近!)都认为自己很擅长 JavaScript 语言,因为他们都知道 C/C++/C#,或者有一些以前的编程经验. 在某种程度上,这种假设并不是完全没有根据的.用 Java

玩转JavaScript OOP[2]——类的实现

概述 当我们在谈论面向对象编程时,我们在谈论什么?我们首先谈论的是一些概念:对象.类.封装.继承.多态.对象和类是面向对象的基础,封装.继承和多态是面向对象编程的三大特性. JavaScript提供了对象却缺乏类,它不能像C#一样能显式地定义一个类.但是JavaScript的函数功能非常灵活,其中之一就是构造函数,结合构造函数和原型对象可以实现"类". 对象和类的概念 对象 "对象"是面向对象编程中非常重要的一个概念,一个对象是一个"东西"(某个

玩转JavaScript OOP[4]——实现继承的12种套路

概述 在之前的文章中,我们借助构造函数实现了"类",然后结合原型对象实现了"继承",并了解了JavaScript中原型链的概念. 理解这些内容,有助于我们更深入地进行JavaScript面向对象编程. 由于JavaScript是一门基于对象和原型的弱语言,灵活度非常高,这使得JavaScript有各种套路去实现继承.本篇文章将逐一介绍实现继承的12种套路,它们可以适用于不同的场景,总一种套路适合你. (亲:文章有点长,请点击右侧的「显示文章目录」按钮,以便导航和阅读

Javascript oop深入学习笔记(三)--javascript中类的实现

一.类的实现机制 在javascript中可以使用function关键字来定义一个类.在函数内通过this指针引用的变量或则方法都会成为类的成员. function classDemo(){ var $testProperty = "xz1024"; this.property = $testProperty; this.method = function(){ return "this is a test method"; } } var $obj = new c

javascript oop深入学习笔记(二)--javascript的函数

一.概述: 函数是进行模块化程序设计的基础, javascript重的的函数不同于其他语言,每个函数都作为一个对象被维护和运行.通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或则讲函数作为参数传递. 二.认识javascript中的函数 javascript可以用function关键字定义一个函数,并为每个函数指定一个函数名,通过函数名来调用. 在javascript解释执行时,函数都是被维护为一个对象,这就是函数对象(Function Object). 函数对象与其他用户所定义的对象

玩转JavaScript OOP[0]——基础类型

前言 long long ago,大家普遍地认为JavaScript就是做一些网页特效的.处理一些事件的.我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统的. 编程语言和技术的结合使用,就像一个男人娶了好几个妞一样.在旧的时代,.NET是大房,JavaScript是偏房.大房是"后宫之主",不仅要操持家业,还能给你生娃,娃将来也要继承家业的.偏房就没那么幸运了,在"后宫"没什么地位,虽然衣食无忧,但不能管理家族事务,生的

玩转JavaScript OOP[3]——彻底理解继承和原型链

概述 首先,我们简单描述一下继承的概念:当一个类和另一个类构成"is a kind of"关系时,这两个类就构成了继承关系.继承关系的双方分别是子类和基类,子类可以重用基类中的属性和方法. 上一篇我们介绍了通过构造函数和原型可以实现JavaScript中的"类",由于构造函数和原型是对象,所以JavaScript的"类"本质上也是对象.这一篇我们将介绍JavaScript中的一个重要概念原型链,以及如何经原型链实现JavaScript中的继承.