javascript类的继承与方法重写
来源:互联网 发布:手机美化软件 编辑:程序博客网 时间:2024/05/04 03:31
javascript类的继承与方法重写
作者:sagahu@163.com日期:2011-12-26
这段代码演示了类的继承与方法重写:
function Human(name, age) { this.name = name; // 成员属性如此定义 this.age = age; // 第一种声明方法的办法:在类的内部直接声明 this.methodA = function() { alert("Hello " + this.name); } } // 第二种声明方法的办法:在类的外部通过“类.prototype.方法名 = function(){}”来定义 Human.prototype.methodB = function() { alert("Hello " + this.name); } function Man(name, age) { Human.call(this, name, age); // 这里调用基类的构造函数,来实现类的继承 this.sex = '男'; // 重写基类的方法methodA;无论基类的方法是在基类内部直接声明或是外部通过prototype声明的,都可以在这里这样重写 this.methodA = function() { alert("Hello, Man " + this.name); } } // 在子类外部通过prototype重写基类方法 Man.prototype.methodB = function() { alert("Hello, Man " + this.name); } var obj1 = new Man("张三", 21); obj1.methodA(); obj1.methodB(); alert(obj1 instanceof Man); alert(obj1 instanceof Human); // 比较遗憾,这种实现继承的方式,instanceof测试会返回false总结如下:
一、实现类的继承
在子类构造函数内部,使用call函数调用基类构造函数,可以实现类的继承。
二、子类重写基类的方法
对于基类的方法,无论其是在基类内部直接声明的,还是后来在基类外部通过prototype扩展的,如果要在子类里重写它:
- 都可以在子类内部直接重写;
- 也可以在子类外部通过prototype重写基类的方法。
最后:其实在javascript中实现类继承的方式还有好几种,可以查阅相关资料。
- javascript类的继承与方法重写
- 类、方法 类的继承与方法重写
- 类与对象 类的分类 方法 继承 重写
- python中类的继承与方法重写
- python中类的继承与方法重写
- 继承概念与方法的重写小结
- 继承概念与方法的重写小结
- javascript封装,继承,方法重写
- 方法的重载、方法重写、类的继承与构造方法
- 类的继承、方法重写、自动转型
- 方法的重写、Object类、继承、super
- 类的继承/方法重写/重载
- php的类的继承与重写
- JAVA【类】析构器、重载与继承、方法的重写、自动转型、多态、方法与类的分类、接口继承
- 多态理解,方法重写分析,类继承与接口实现中,方法重写的实现机制的区别
- 方法的重载与重写 区别 封装 继承 多态
- 继承_方法的重写
- 类的继承/方法的重写/与C++的比较day11
- 总结几种C#窗体间通讯的处理方法
- 给自己做个标记
- 关于函数声明和调用时参数个数不一致的情况
- AS3语言:BitmapData类介绍
- SQL2008删除所有数据表脚本
- javascript类的继承与方法重写
- 区分计算机系统一系列的“周期”
- The Machine SID Duplication Myth (and Why Sysprep Matters)
- 打印机连接不上的解决办法:超过连接最大数
- dateTimePicker时间比较问题
- C++0x启用
- qdot调试技巧
- 一些iOS高效开源类库
- 工作代码片段-libevent