分享

javascript中类的定义和继承的用法

 WindySky 2009-07-01
javascript中类的定义和继承方法不一,下面介绍常用方法:
一.类的定义:
1.混合的构造函数/原型:
程序代码
function Parent(name) {
//实例属性
this.name = name;
}
//实例方法
Parent.prototype.hello = function () {
alert("parent!");
}
//类属性
Parent.PI = 3.14159;
//类方法
Parent.say = function () {
alert("say");
}
2.动态原型:
程序代码
function Parent(name) {
//实例属性
this.name = name;
if (typeof Parent._initialized == "undefined") {
//实例方法
Parent.prototype.hello = function () {
alert("parent!");
};
//类属性http://qqface./
Parent.PI = 3.14159;
//类方法
Parent.say = function () {
alert("say");
}
Parent._initialized = true;
}
}
其中方法1更常用。
2.类的继承:
程序代码
function Child(name, age) {
Parent.call(this, name);
this.age = age;
}
Child.prototype = new Parent();
//Child.prototype = Parent.prototype;
Child.prototype.hello = function () {
alert("child!");
}
for (var classMember in Parent) {
Child[classMember] = Parent[classMember];
}
注意:
1.不能用Child.prototype = Parent.prototype,否则会导致:修改Child的方法同时也修改Parent的方法。
2.使用Child.prototype = Parent.prototype也可以使Child的实例child instanceof Parent为true。
3.其中类方法、类属性的继承实现的比较牵强,期待更好的方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多