[基础]Javascript中的继承示例代码
生活随笔
收集整理的這篇文章主要介紹了
[基础]Javascript中的继承示例代码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
面向?qū)ο蟮恼Z(yǔ)言必須具備四個(gè)基本特征:
1.封裝能力(即允許將基本數(shù)據(jù)類型的變量或函數(shù)放到一個(gè)類里,形成類的成員或方法)
2.聚合能力(即允許類里面再包含類,這樣可以應(yīng)付足夠復(fù)雜的設(shè)計(jì))
3.支持繼承(父類可以派生出子類,子類擁有父母的屬性或方法)
4.支持多態(tài)(允許同樣的方法名,根據(jù)方法簽名[即函數(shù)的參數(shù)]不同,有各自獨(dú)立的處理方法)
這四個(gè)基本屬性,javascript都可以支持,所以javascript確實(shí)是一種弱類型的面向?qū)ο蟮恼Z(yǔ)言,這里給出一個(gè)簡(jiǎn)單的類繼承的代碼
<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函數(shù),將ClassA的所有方法都賦給ClassB,即實(shí)現(xiàn)了繼承
????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繼承來(lái)的
oClassB.sayName();//這是ClassB中的新方法
/**//*
call函數(shù)的演示示例
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>
1.封裝能力(即允許將基本數(shù)據(jù)類型的變量或函數(shù)放到一個(gè)類里,形成類的成員或方法)
2.聚合能力(即允許類里面再包含類,這樣可以應(yīng)付足夠復(fù)雜的設(shè)計(jì))
3.支持繼承(父類可以派生出子類,子類擁有父母的屬性或方法)
4.支持多態(tài)(允許同樣的方法名,根據(jù)方法簽名[即函數(shù)的參數(shù)]不同,有各自獨(dú)立的處理方法)
這四個(gè)基本屬性,javascript都可以支持,所以javascript確實(shí)是一種弱類型的面向?qū)ο蟮恼Z(yǔ)言,這里給出一個(gè)簡(jiǎn)單的類繼承的代碼
<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函數(shù),將ClassA的所有方法都賦給ClassB,即實(shí)現(xiàn)了繼承
????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繼承來(lái)的
oClassB.sayName();//這是ClassB中的新方法
/**//*
call函數(shù)的演示示例
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>
轉(zhuǎn)載于:https://www.cnblogs.com/yjmyzz/archive/2008/01/20/1046489.html
總結(jié)
以上是生活随笔為你收集整理的[基础]Javascript中的继承示例代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在IE7下使用Fiddler
- 下一篇: 计算机Java程序设计标准讲义