JavaScript面向对象---继承
来源:互联网 发布:恒源软件 编辑:程序博客网 时间:2024/04/29 16:56
javaScript没有集成的对象,所以采用下面三种方法模拟:
1、js原型实现继承
function Person(name,age){
this.name=name;
this.age=age;
}
Person.prototype.sayHello=function(){
document.write("使用原型得到Name:"+this.name+"</br>");
}
//var per=new Person("zhangping","21");
//per.sayHello();
function Student(){}
Student.prototype=new Person("zhangping","21");
var stu=new Student();
Student.prototype.gade="3";
Student.prototype.intr=function(){
document.write(this.gade);
}
stu.sayHello();
stu.intr();
2、构造函数实现继承
function Parent(name){
this.name=name;
this.sayParent=function(){
document.write("Parent:"+this.name);
}
}
function Child(name,age){
this.tempMethod=Parent;
this.tempMethod(name);
this.age=age;
this.sayParent=function(){
document.write("Child:"+this.name+"age:"+this.age);
}
}
var parent=new Parent("zhangping");
parent.sayParent();
var child=new Child("xiaoguanxianfei","11");
child.sayParent();
3、使用Call Applay实现继承
1、js原型实现继承
function Person(name,age){
this.name=name;
this.age=age;
}
Person.prototype.sayHello=function(){
document.write("使用原型得到Name:"+this.name+"</br>");
}
//var per=new Person("zhangping","21");
//per.sayHello();
function Student(){}
Student.prototype=new Person("zhangping","21");
var stu=new Student();
Student.prototype.gade="3";
Student.prototype.intr=function(){
document.write(this.gade);
}
stu.sayHello();
stu.intr();
2、构造函数实现继承
function Parent(name){
this.name=name;
this.sayParent=function(){
document.write("Parent:"+this.name);
}
}
function Child(name,age){
this.tempMethod=Parent;
this.tempMethod(name);
this.age=age;
this.sayParent=function(){
document.write("Child:"+this.name+"age:"+this.age);
}
}
var parent=new Parent("zhangping");
parent.sayParent();
var child=new Child("xiaoguanxianfei","11");
child.sayParent();
3、使用Call Applay实现继承
function Person(name,age,love){
this.name=name;
this.age=age;
this.love=love;
this.say=function say(){
document.write("姓名:"+name);
}
}
function student(name,age){
Person.call(this,name,age);
}
function teacher(name,love){
Person.apply(this,[name,love]);
}
var per=new Person("zhangping","21","guanxianfei");
per.say();
var stu=new student("guanxianfei","22");
stu.say();
var tea=new teacher("xiaoguanxianfei","22");
tea.say();
- JavaScript面向对象------继承
- JavaScript面向对象---继承
- javaScript 面向对象-继承
- JavaScript面向对象------继承
- javascript面向对象-继承
- JavaScript面向对象-继承
- javaScript面向对象-继承
- JavaScript中的面向对象----继承
- Javascript面向对象编程:继承
- javascript面向对象编程-->继承
- JavaScript面向对象继承方法
- javascript面向对象二-“继承”
- javaScript 面向对象-继承(一)
- javaScript 面向对象-继承(二)
- javaScript 面向对象-继承(三)
- javaScript 面向对象-继承(四)
- javaScript 面向对象-继承(五)
- javaScript 面向对象-继承(六)
- 街头摄影的十句名言
- 面试中遇到递归算法题别慌--常见递归算法题的解题思路
- oracle分析函数系列之rank,dense_rank,row_number:实现排名策略
- hadoop作业调优参数整理及原理
- 给IT新男的15点建议:苦逼程序员的辛酸反省与总结
- JavaScript面向对象---继承
- windows 下编译 jrtplib-3.9.1 和 jthread-1.3.1
- 解析equals()和hashcode()方法
- 第9章 引用
- 两种实现Toast 的源码
- 稀疏表达相关的资料总结
- 在StringBuffer(StringBuilder)的append()方法中使用加号是否合适?
- 边学边谈 ------- 当你遇到很多String对象 占用了很多内存 怎么办?
- 向 ChannelFactory 提供的 InstanceContext 包含未实现 CallbackContractType“Contracts.ICallback”的 UserObject