[基础]Javascript中的继承示例代码

面向对象的语言必须具备四个基本特征:
1.封装能力(即允许将基本数据类型的变量或函数放到一个类里,形成类的成员或方法)
2.聚合能力(即允许类里面再包含类,这样可以应付足够复杂的设计)
3.支持继承(父类可以派生出子类,子类拥有父母的属性或方法)
4.支持多态(允许同样的方法名,根据方法签名[即函数的参数]不同,有各自独立的处理方法)
这四个基本属性,javascript都可以支持,所以javascript确实是一种弱类型的面向对象的语言,这里给出一个简单的类继承的代码

< script type = " text/javascript " >

// 父类ClassA
function  ClassA(sColor)  {
    
this.color = sColor;
    
this.sayColor = function () {
        document.write(
"Color:" + this.color + "<br/>");
    }
;
}


// 子类ClassB,继承自ClassA
function  ClassB(sColor,sName) {    
    ClassA.call(
this,sColor);//利用call函数,将ClassA的所有方法都赋给ClassB,即实现了继承
    this.name = sName;
    
this.sayName = function(){
        document.write(
"Name:" + this.name + "<br/>");
    }

}


var  oClassA  =   new  ClassA( " Red " );
oClassA.sayColor();


var  oClassB  =   new  ClassB( " Blue " , " Jimmy.Yang " );
oClassB.sayColor();
// 这里sayColor方法是从ClassA继承来的
oClassB.sayName(); // 这是ClassB中的新方法



/*
call函数的演示示例
function sayColor(sPrefix, sSuffix) {
alert(sPrefix + this.color + sSuffix);
};
var obj = new Object();

sayColor.call(obj, "The color is ", ", a very nice color indeed. ");
*/


< / script>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值