JavaScript之面向对象的继承浅析2
来源:互联网 发布:管家婆 远程数据库 编辑:程序博客网 时间:2024/06/05 08:03
其他oop语言Java,C#,C++,PHP中的继承
例如在PHP中的继承:
<1> 对象的组成: 属性、方法
<2> 继承对象的属性、方法
<3> 继承步骤:先执行父级的构造函数;再添加自身的属性和方法JavaScript中的继承(只谈组合继承)
①属性的继承: 构造函数的伪装 :.call() || .apply()②方法的继承: 通过原型链
(父类实例化对象赋给子类原型对象 或 for-in循环 子类.prototype[i] = 父类.prototype[i])③ 注意:在子类继承中,要先继承父类,然后再用原型方法写自己独有的方法,不然后写的话会覆盖掉子类的方法。
//父类Person function Person(name,sex){ this.name = name; this.sex = sex; } Person.prototype.sayName = function(){ alert("My Name is " + this.name); } Person.prototype.saySex = function(){ alert("My Sex is " + this.sex); } //Worker子类继承 function Worker(name,sex,job){ //此处用call方法来继承Person类中的属性,说穿了就是继承name和sex Person.call(this,name,sex); //学名: 构造函数的伪装!!! this.job = job; } //此处直接通过原型继承父级Person类中方法 //Worker.prototype = Person.prototype; 学名:原型链!注意:其中涉及了对象的引用,有问题 //如果用上述直接引用父类的话 会对父类造成影响,所以为了不影响父类,不能采用上述方法用for-in循环来做 for(var i in Person.prototype){ Worker.prototype[i] = Person.prototype[i]; } //再添加自身(子类(Worker类))的方法 Worker.prototype.showJob = function(){ alert(this.job); }
0 0
- JavaScript之面向对象的继承浅析2
- Javascript面向对象之继承
- JavaScript面向对象之继承
- JavaScript 面向对象之继承
- JavaScript对象之面向对象的三种继承方式
- JavaScript之面向对象浅析1
- Javascript 面向对象之构造函数的继承
- Javascript面向对象之非构造函数的继承
- JavaScript之继承(面向对象的程序设计)
- 补基础之javascript面向对象-构造函数的继承
- 浅析JavaScript面向对象
- 《JavaScript》——面向对象之继承
- 《JavaScript》——面向对象之继承
- javascript 面向对象特性之继承
- JavaScript面向对象之Prototypes和继承
- JavaScript面向对象编程之继承
- JavaScript基于面向对象之继承机制
- javaScript面向对象编程之继承
- 杭电2122Ice_cream’s world III(kruskal算法与prim算法)
- Android开发学习之路--传感器之初体验
- Solr索引库l配置文件schema.xm要点
- getopt和getopt_long函数
- EasyDarwin开源流媒体服务器高性能设计之无锁队列
- JavaScript之面向对象的继承浅析2
- 最小生成树-克鲁斯卡尔方法(Kruskal)
- poj1463树形dp
- 编译android源码3---ubuntu安装jdk6
- 最详细的制作正式版10.11 OS X El Capitan 安装U盘的方法
- android webview 访问https页面 SslError 处理
- 【Linux 基础篇】之 rsync
- [BZOJ3680]吊打XXX
- python第五天