Javascript面向对象之四 继承_js面向对象
May 16, 2016 pm 06:10 PMvar JsObject = {} || new Object();
JsObject.extend = function(subClass, superClass){
//先判断子类subClass是否已经定义,如果未定义,则重新定义类。
if(typeof subClass == "undefined")subClass = function(){};
//如果父类superClass是类,则转化成对象
if(typeof superClass == "function")superClass = new superClass();
//遍历父类superClass对象中的属性和方法
for(var p in superClass)
{
/*将父类superClass对象中的属性和方法复制到子类prototype对象中,
因此子类拥有父类的所有特性,即为继承 */
subClass.prototype[p] = superClass[p];
}
return subClass;
};
function Student()
{
this.name = "张三";
this.updateName = function(name){
this.name = name;
}
}
function Class1()
{
this.sex = "男";
this.updateSex = function(sex){
this.sex = sex;
}
}
//定义类Class1继承Student类
Class1 = JsObject.extend(Class1, Student);
var obj = new Class1();
alert(obj.sex);
alert(obj.name);
obj.updateSex("女");
obj.updateName("玛丽");
alert(obj.sex);
alert(obj.name);
结果显示:男,张三,女,玛丽

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Explication détaillée de l'héritage des fonctions C++ : Comment utiliser le « pointeur de classe de base » et le « pointeur de classe dérivé » dans l'héritage ?

Comment l'héritage et le polymorphisme affectent-ils le couplage de classes en C++ ?

Résoudre l'erreur PHP : problèmes rencontrés lors de l'héritage de la classe parent

Explication détaillée de l'héritage des fonctions C++ : Comment déboguer les erreurs d'héritage ?

Calculer les intérêts sur les dépôts à terme (FD) et les dépôts à terme (RD) à l'aide du programme Java hérité

Comment utiliser le polymorphisme et l'héritage en PHP pour gérer les types de données

Technologie d'emballage et application en PHP
