//类对象构造模版,无new访问,类似静态访问
var Class = {
create: function () {
return function ()
{
//initialize初始化
//apply应用变更,可以反复请求
//arguments参数
this.initialize.apply(this, arguments)
};
},
//模拟抽象方法,可以随便自己定
Show: function () {
}
}; //模拟继承extobj扩展对象,srcobj源对象
var Extend = function (extobj, srcobj) {
for (var a in srcobj) {
extobj[a] = srcobj[a];
}
return extobj;
}; //动态为Object添加extend方法,用来完成继承
Object.prototype.extend = function (obj) {
return Extend.apply(this, [this, obj]);
}; //实例演示
var ClassAB = Class.create();
ClassAB.prototype = {
//初始函数,相当于构造方法
initialize: function (name) {
this.name = name;
},
Show: function (a) {
this.abstractShow(a); //抽象方法
}
}; //继承
var ClassA = Class.create();
ClassA.prototype = new ClassAB(null).extend({
Show: function (a) { //实现抽象方法
alert(this.name + " " + typeof (this) + " " + a);
} }); var ClassB = Class.create();
ClassB.prototype = new ClassAB(null).extend({
Show: function (a) { //实现抽象方法
alert(this.toString + " " + typeof (this) + " " + a+new Date().toDateString());
}
}); //多态
ClassAB = new ClassA("ClassA");
ClassAB.Show("hello"); ClassAB = new ClassB("ClassB");
ClassAB.Show("hello");

最新文章

  1. iOS:基于CoreText的排版引擎
  2. pyspider 简单应用之快速问医生药品抓取(一)
  3. luogu1022计算器的改良[noip2000提高组Day1 T1]
  4. winform下的智能提示框
  5. 数据挖掘系列(4)使用weka做关联规则挖掘
  6. 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
  7. 洛谷U5653 宋荣子的小饼干
  8. JQuery 表格 隔行换色 和鼠标滑过的样式
  9. dos常用文件操作命令
  10. Pyqt5 实时图像滚动
  11. webpack React+ES6
  12. ⑧bootstrap组件 文字图片 下拉菜单 按钮组 使用基础案例
  13. CentOS使用@Value注解为属性赋值的时候出现乱码
  14. 使用Ant Build时提示错误: 编码GBK的不可映射字符
  15. selenium下拉到页面最底端
  16. 第30月第3天 iOS图标icon自动生成和自定义尺寸
  17. Hexo 搭建博客 本地运行 常见报错及解决办法
  18. ZZNU 2182 矩阵dp (矩阵快速幂+递推式 || 杜教BM)
  19. GITHUB使用及入门总结
  20. 遍历python字典几种方法

热门文章

  1. UIAlertController:弹框4步走
  2. java连接oracle的简单实例
  3. 在String中添加移动构造函数和移动赋值运算符
  4. 常用JDBC连接字符串
  5. android之AlertDialog 点击其他区域自动消失
  6. WTL 自绘 进度条Progressbar
  7. Objective-C:内存管理
  8. Mybatis下配置调用Oracle自定义函数返回的游标结果集
  9. jar打包通过exe4j转换成exe文件
  10. PGsql解决时差24H