js继承封装(三)
来源:互联网 发布:u盘提示格式化数据恢复 编辑:程序博客网 时间:2024/05/18 00:22
封装继承方法
//实现继承 subClass为子类 superClass为父类function extendsClass(subClass,superClass){ var oldPrototype=subClass.prototype; var Clazz=new Function(); Clazz.prototype=superClass.prototype; subClass.prototype=new Clazz(); subClass.prototype.constructor=subClass; for(var key in oldPrototype){ if(oldPrototype.hasOwnProperty(key)){ subClass.prototype[key]=oldPrototype[key]; } }}function UpdateCommand(path) { this.name="修改命令"; this.path = path; this.executeFun=function(){ alert("发送请求1"); }}UpdateCommand.prototype.execute = function () { alert("发送请求2");}//定义一个查询command函数function QueryCommand(path) { UpdateCommand.call(this,path);}QueryCommand.prototype.execute=function(){ alert("发送查询请求");}extendsClass(QueryCommand,UpdateCommand);var queryCommand = new QueryCommand();queryCommand.execute();//发送查询请求
对封装方法简单的说明下
//实现继承 subClass为子类 superClass为父类function extendsClass(subClass,superClass){ //临时存放 用于后面使用 var oldPrototype=subClass.prototype; //生成新函数,通过该函数来实现原型继承,则减少了superClass的实例化 var Clazz=new Function(); clazz.prototype=superClass.prototype; subClass.prototype=new Clazz(); //改变原型继承后子类的constructor 指向 subClass.prototype.constructor=subClass; //保证子类方法重载 for(var key in oldPrototype){ if(oldPrototype.hasOwnProperty(key)){ subClass.prototype[key]=oldPrototype[key]; } }}
这样封装以后,就从一定程度上解决了第二章里面讲到的问题。
0 0
- js继承封装(三)
- js继承封装(一)
- js继承封装(二)
- JS继承 封装函数
- JS封装,对象继承
- JS- 封装、继承、多态
- JS- 封装、继承、多态
- JS封装继承函数
- js学习(三)继承
- js中继承的封装
- js--原型、封装和继承
- (三)面向对象之封装,继承,多态(下)
- 黑马程序员-OC笔记(三)OC 封装 继承 多态
- 黑马程序员_Java三大特性(封装 继承 多态)
- 面向对象三大特征:继承、封装、多态 (泛型)
- java知识总结(三)封装、继承和多态
- ios学习第三天(三)封装继承多态
- 关于JS中的继承(三)
- shell小点
- mybaits Condition使用
- 剑指offer--字符串
- Android Studio 常用快捷键
- GSM协议栈结构和GSM、GPRS信道映射
- js继承封装(三)
- 黑马程序员_Java语言基础知识
- parquet格式的表用HiveContext写入用Spark thriftserver查不到更新
- IT英文缩写
- 4412裸机程序之按键控制LED
- ARMCortex系列主流的仿真调试器
- 深入理解BootStrap Item9 -- 按钮组工具栏
- Spark修炼之道(基础篇)——Linux大数据开发基础:第五节:vi、vim编辑器(一)
- turnserver.conf文件详解