摘要:子類繼承自父類的方法可以重新定義即覆寫,被調(diào)用時(shí)會(huì)使用子類定義的方法什么是多態(tài)青蛙是一個(gè)對(duì)象,金魚也是一個(gè)對(duì)象,青蛙會(huì)跳,金魚會(huì)游,定義好對(duì)象及其方法后,我們能用青蛙對(duì)象調(diào)用跳這個(gè)方法,也能用金魚對(duì)象調(diào)用游這個(gè)方法。
1、專用術(shù)語(yǔ)
面向?qū)ο缶幊坛绦蛟O(shè)計(jì)簡(jiǎn)稱:“OOP”,在面向?qū)ο缶幊讨谐S玫降母拍钣校簩?duì)象、屬性、方法、類、封裝、聚合、重用與繼承、多態(tài)。
2、什么是對(duì)象?面向?qū)ο缶幊痰闹攸c(diǎn)就在于對(duì)象,而所謂對(duì)象實(shí)質(zhì)上指的是“事物在程序設(shè)計(jì)語(yǔ)言中的表現(xiàn)形式”,對(duì)象可以是真實(shí)存在的也可以是抽象的概念。
3、什么是屬性?什么是方法?貓是一個(gè)對(duì)象,每只貓都有它的特征比如:顏色、體型,而這些靜態(tài)的特征就是貓這個(gè)對(duì)象的屬性。同樣的,貓擁有行為動(dòng)作的能力,比如:跑、睡覺(jué),這些我們把它叫做貓這個(gè)對(duì)象的方法。
4、什么是類?在現(xiàn)實(shí)世界中,我們會(huì)把擁有相似特征的事物進(jìn)行歸類比如:人類、鳥類等,同樣的在程序世界中我們也將事物進(jìn)行歸類,所以類像是一個(gè)模板,是對(duì)一個(gè)事物的統(tǒng)稱。而對(duì)象就是根據(jù)這個(gè)模板(類)創(chuàng)建的實(shí)體,所以我們常說(shuō)實(shí)例化對(duì)象
5、什么是封裝?提到封裝我們很容易想到包裝,沒(méi)錯(cuò)就是這個(gè)意思!我們常說(shuō)封裝一個(gè)對(duì)象,就是指將要?jiǎng)?chuàng)建的對(duì)象的屬性和方法包裝起來(lái)形成這個(gè)對(duì)象。封裝在一定程度上有隱藏的意思,通常一個(gè)對(duì)象會(huì)有私有屬性與方法和公有屬性與方法,通常的做法是封裝對(duì)象后會(huì)對(duì)外提供該對(duì)象的接口用于訪問(wèn)該對(duì)象。
6、什么是聚合?聚合也叫組合,聚合就是:“將幾個(gè)現(xiàn)有對(duì)象合并成一個(gè)新對(duì)象的過(guò)程”。復(fù)雜的問(wèn)題讓人難受,我們可以把它分解成若干個(gè)小問(wèn)題,如果還是復(fù)雜就將復(fù)雜的小問(wèn)題再次分解,解決之后再聚合起來(lái)。同樣的一個(gè)對(duì)象如果過(guò)于復(fù)雜我們也能先將其分解為多個(gè)小對(duì)象來(lái)解決,最后再聚合起來(lái)
7、什么是繼承?什么是JavaScript繼承?比如父類擁有:黑頭發(fā)、會(huì)說(shuō)話等公有屬性與方法,為了實(shí)現(xiàn)對(duì)現(xiàn)有代碼的重用,可以使用繼承來(lái)使子類擁有這些父類中已有的公有屬性與方法。繼承通常指類與類之間的關(guān)系,但在ES6之前JavaScript沒(méi)有類的概念,因此繼承只能發(fā)生在對(duì)象之間。當(dāng)B對(duì)象繼承自A對(duì)象時(shí),會(huì)往A對(duì)象中加入新的方法并將以加入新方法后的對(duì)象創(chuàng)建到新的指針指向B對(duì)象,以擴(kuò)展被繼承的老對(duì)象,這個(gè)工程稱之為“B繼承自A”或“B擴(kuò)展自A”。子類繼承自父類的方法可以重新定義即“覆寫”,被調(diào)用時(shí)會(huì)使用子類定義的方法
8、什么是多態(tài)?青蛙是一個(gè)對(duì)象,金魚也是一個(gè)對(duì)象,青蛙會(huì)跳,金魚會(huì)游,定義好對(duì)象及其方法后,我們能用青蛙對(duì)象調(diào)用“跳”這個(gè)方法,也能用金魚對(duì)象調(diào)用“游”這個(gè)方法。然后青蛙和金魚都在水池里,我們用水池對(duì)象繼承了青蛙對(duì)象和金魚對(duì)象,所以水池也能調(diào)用青蛙和金魚的方法。類似這種不同對(duì)象通過(guò)相同方法調(diào)用來(lái)實(shí)現(xiàn)各種行為的能力,我們稱之為多態(tài)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/97506.html
摘要:即另外,注意到構(gòu)造函數(shù)里的屬性,都沒(méi)有經(jīng)過(guò)進(jìn)行初始化,而是直接使用進(jìn)行綁定。并且在模式下,構(gòu)造函數(shù)沒(méi)有使用進(jìn)行調(diào)用,也會(huì)導(dǎo)致報(bào)錯(cuò)。調(diào)用構(gòu)造函數(shù)千萬(wàn)不要忘記寫。 1. 基礎(chǔ) JavaScript不區(qū)分類和實(shí)例的概念,而是通過(guò)原型來(lái)實(shí)現(xiàn)面向?qū)ο缶幊?。Java是從高級(jí)的抽象上設(shè)計(jì)的類和實(shí)例,而JavaScript的設(shè)計(jì)理念,聽(tīng)起來(lái)就好比Heros里的Peter,可以復(fù)制別人的能力。JavaS...
摘要:我們一般不判斷是,判斷不是在判斷元素是否存在時(shí)候,最好使用如果沒(méi)有定義會(huì)有警告第三章,函數(shù)返回值一個(gè)函數(shù)只能有一個(gè)返回值,如果有多個(gè)返回值,使用數(shù)組的形式返回。子句,返回值,就是函數(shù)的返回值。示例將一個(gè)函數(shù)的返回值傳遞給另一個(gè)函數(shù)。 第一章 1,用自己的語(yǔ)言描述出,什么是對(duì)象、類、封裝、聚合、繼承、多態(tài)? 對(duì)象,擁有屬性和方法的任何抽象概念。 類,可以實(shí)例化,有共同屬性或方法(行為)的...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
閱讀 2634·2019-08-30 10:53
閱讀 3233·2019-08-29 16:20
閱讀 2992·2019-08-29 15:35
閱讀 1820·2019-08-29 12:24
閱讀 2909·2019-08-28 18:19
閱讀 1899·2019-08-23 18:07
閱讀 2390·2019-08-23 15:31
閱讀 1233·2019-08-23 14:05