18--26 面向对象程序设计25(继承的三种方式)
来源:互联网 发布:云端软件 编辑:程序博客网 时间:2024/06/07 16:43
转载请注明出处:http://blog.csdn.net/u011569040/article/details/50987573
// 原型继承//原型继承的特点:即继承了父类的模版,又继承了 父类的原型对象// 父类function Person(name, age){this.name = name ; this.age = age ;}// 父类的原型对象属性Person.prototype.id = 10 ;// 子类function Boy(sex){this.sex = sex ; }//继承已经实现了 Boy.prototype = new Person('z3');var b = new Boy();alert(b.name);alert(b.id);但是我们习惯于这样:new Boy(“zhngdan”)就传参,而不是new Person(“z3”)时传参
// 类继承(只继承模版,不继承原型对象) (借用构造函数的方式继承)// 父类function Person(name, age){this.name = name ; this.age = age ;}// 父类的原型对象属性Person.prototype.id = 10 ;// 子类function Boy(name , age , sex){// call applyPerson.call(this,name,age);this.sex = sex ; }var b = new Boy('张三' , 20 , '男');//alert(b.name);//alert(b.age);//alert(b.sex);//alert(b.id); //父类的原型对象并没有继承
但是id没有被继承,即原型属性没有被继承,所以:
// 原型继承+借用构造函数继承 = 混合继承// 父类function Person(name, age){this.name = name ; this.age = age ;}// 父类的原型对象属性Person.prototype.id = 10 ;Person.prototype.sayName = function(){alert(this.name);};// 子类function Boy(name , age , sex){// call applyPerson.call(this,name,age); // 1 借用构造函数继承 继承父类的模版this.sex = sex ; }// 2 原型继承// 只剩下 父类的实例 和 父类的原型对象的关系了Boy.prototype = new Person(); //继承父类的原型对象var b = new Boy('李四' , 20 , '男');alert(b.name);alert(b.sex);b.sayName();
0 0
- 18--26 面向对象程序设计25(继承的三种方式)
- JavaScript对象之面向对象的三种继承方式
- 18--26 面向对象程序设计26(模拟extjs底层继承方式)
- Python篇----面向对象程序设计(三)(继承篇)
- 18--26 面向对象程序设计24(深入解析原型继承的概念)
- 【面向对象程序设计常见面试题】运算符重载的三种方式?(7)
- JavaScript之继承(面向对象的程序设计)
- 面向对象(三):继承
- js对象的三种继承方式
- LUA面向对象程序设计(二)继承
- 面向对象程序设计(多态、转换、继承)
- 面向对象程序设计方式
- 面向对象程序设计(三)
- JS面向对象的继承三种方法:原型继承,原型冒充继承,复制继承
- 面向对象程序设计的三大特征
- 【JavaScript学习】面向对象的程序设计(5):组合继承(伪经典继承)
- JAVA面向对象程序设计——类的继承(继承、多态)
- 【JavaScript学习】面向对象的程序设计(7):寄生式继承和寄生组合式继承
- MFC-文件对话框
- 单例模式-java描述
- 刷题第一天:南邮NOJ完美立方
- PHP 请求转发(CURL)
- Storm在zookeeper上的目录结构
- 18--26 面向对象程序设计25(继承的三种方式)
- 虚拟游戏世界实体分析
- 日有所长.3 sprite裁剪
- Intent
- 八数码问题有解的条件及其推广
- redis 和 common pool Java Jar 下载地址
- android中AlertDialog-Builder模式
- PPT斜角标签怎么制作
- Android学习笔记--intent的运用(一)