Javascript 类/声明/继承/多态实例
2009-09-15 17:29
302 查看
//声明Person类
var Person = function(name) {
this.name = name;
}
Person.prototype = { // protype与prototype.js并没有关系,只是个名称表示类的原始
sayHello: function() {
alert("hi, javaeye, I'm A " + this.name);
}
}
Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
//声明Person1类
var Person1=function(name){
this.name = name;
}
//Person1继承与多态Person,只继承Person.prototype方法
Person1.prototype=Object.extend(
Person.prototype,
{
//Person1其他方法声明
}
)
//实例化,构造
var t = new Person1("dd");
t.sayHello();
根据上面理论,我们来应用prototype.js中创建类:
<script type="text/javascript" src="/inc/jscript/prototype.js"></script>
var Person = Class.create();
Person.prototype= {
initialize: function(name) {
this.name=name;
},
sayHello: function() {
alert("hi, javaeye, I'm A " + this.name);
}
};
var Person1 = Class.create();
Person1.prototype=Object.extend(Person.prototype, {
initialize: function(name) {
this.name=name;
}
//Person1其他方法声明
});
//实例化,构造
var t = new Person1("dd");
t.sayHello();
//prototype.js中Calss对像代码:
//var Class = {
// create: function() {
// return function() {
// this.initialize.apply(this, arguments);
// }
// }
//}
//Class.create中返回一个initialize对象,调用new时,将会创建一个新对象,并且调用//Person方法,Person方法会委托给"新产生对象Person1"的 initialize方法
</script>
var Person = function(name) {
this.name = name;
}
Person.prototype = { // protype与prototype.js并没有关系,只是个名称表示类的原始
sayHello: function() {
alert("hi, javaeye, I'm A " + this.name);
}
}
Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
//声明Person1类
var Person1=function(name){
this.name = name;
}
//Person1继承与多态Person,只继承Person.prototype方法
Person1.prototype=Object.extend(
Person.prototype,
{
//Person1其他方法声明
}
)
//实例化,构造
var t = new Person1("dd");
t.sayHello();
根据上面理论,我们来应用prototype.js中创建类:
<script type="text/javascript" src="/inc/jscript/prototype.js"></script>
var Person = Class.create();
Person.prototype= {
initialize: function(name) {
this.name=name;
},
sayHello: function() {
alert("hi, javaeye, I'm A " + this.name);
}
};
var Person1 = Class.create();
Person1.prototype=Object.extend(Person.prototype, {
initialize: function(name) {
this.name=name;
}
//Person1其他方法声明
});
//实例化,构造
var t = new Person1("dd");
t.sayHello();
//prototype.js中Calss对像代码:
//var Class = {
// create: function() {
// return function() {
// this.initialize.apply(this, arguments);
// }
// }
//}
//Class.create中返回一个initialize对象,调用new时,将会创建一个新对象,并且调用//Person方法,Person方法会委托给"新产生对象Person1"的 initialize方法
</script>
相关文章推荐
- JavaScript基础之继承(附实例) [ZT]
- 20170812_继承与多态测试实例
- 实例讲解 封装继承多态(二)
- 黑马程序员---OC基础---封装、继承、多态、@property、id类型、实例变量修饰符
- javascript--继承&多态
- 详解JavaScript基于面向对象之继承实例
- C语言模式实现C++继承和多态的实例代码
- 【JavaScript】面向对象程序设计-继承与多态
- javascript面向对象实现方法(类的继承与多态)
- Python笔记-类和实例、继承和多态
- C++/java 继承类的多态详解及实例代码
- 【JavaScript】JavaScript中的封装继承多态
- JavaScript中继承用法实例分析
- javascript继承机制实例详解
- javascript中的封装,多态,继承
- JavaScript 定义类的最佳写法——完整支持面向对象(封装、继承、多态),兼容所有浏览器,支持用JSDuck生成文档
- 原生JavaScript中的原型链和继承(代码实例详解)
- JavaScript中实现继承的三种方式和实例
- JavaScript 的继承与多态