摘要:一面向?qū)ο缶幊毯?jiǎn)介定義,簡(jiǎn)稱,是一種程序設(shè)計(jì)思想。好處維護(hù)簡(jiǎn)單模塊化是面向?qū)ο缶幊讨械囊粋€(gè)特征。可擴(kuò)充性面向?qū)ο缶幊虖谋举|(zhì)上支持?jǐn)U充性。
一、面向?qū)ο缶幊毯?jiǎn)介
1.定義: Object Oriented Programming,簡(jiǎn)稱OOP,是一種程序設(shè)計(jì)思想。OOP把對(duì)象作為程序的基本單元,一個(gè)對(duì)象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。
2.好處:
(1)、維護(hù)簡(jiǎn)單:模塊化是面向?qū)ο缶幊讨械囊粋€(gè)特征。實(shí)體被表示為類和同一名字空間中具有相同功能的類,我們可以在名字空間中添加一個(gè)類而不會(huì)影響該名字空間的其他成員。 (2)、可擴(kuò)充性:面向?qū)ο缶幊虖谋举|(zhì)上支持?jǐn)U充性。如果有一個(gè)具有某種功能的類,就可以很快地?cái)U(kuò)充這個(gè)類,創(chuàng)建一個(gè)具有擴(kuò)充的功能的類。 (3)、代碼重用:由于功能是被封裝在類中的,并且類是作為一個(gè)獨(dú)立實(shí)體而存在的,提供一個(gè)類庫就非常簡(jiǎn)單。二、實(shí)例
下面給大家舉了幾個(gè)示例達(dá)到的效果一致,但用了不同的方法 (最后一種為完整的利用面向?qū)ο缶幊蹋?注:具體的詳解在代碼中
1.實(shí)例圖:
2.代碼:
第一種:(直接打印)
console.log("車名:汽車,輪胎:4"); console.log("車名:自行車,輪胎:2");
第二種:(*)
// 面向過程 函數(shù)編程 function Che(name,geshu){//利用了函數(shù)的參數(shù)傳入 console.log("車名:"+name+","+"輪胎:"+geshu+"!"); } // 定義參數(shù)的值 Che("汽車","4"); Che("自行車","2"); // 調(diào)用的這里只是傳入對(duì)應(yīng)可變參數(shù)的值 // 這種方法叫做【面向過程】的編程方法,相對(duì)于上一種更便于改動(dòng)
第三種:(*)
// 面向?qū)ο缶幊? var qiche={//"qiche"為對(duì)象的自變量 name:"汽車", geshu:"4", Che:function(name,geshu){//利用了函數(shù)的參數(shù)傳入 console.log("車名:"+this.name+","+"輪胎:"+this.geshu+"!"); } }; var zhixingche={ name:"自行車", geshu:"2", Che:function(name,geshu){//利用了函數(shù)的參數(shù)傳入 console.log("車名:"+this.name+","+"輪胎:"+this.geshu+"!");//this.name代表當(dāng)前對(duì)象 } }; qiche.Che(); zhixingche.Che();//調(diào)用 // 對(duì)象由屬性和方法組成 // 屬性是對(duì)象特有的不變的,方法可以理解為對(duì)象的行為,方法通常為一個(gè)函數(shù) // 代碼重復(fù)的較多
第四種(*)
// 面向?qū)ο缶幊? 進(jìn)階 // 類的概念 // 對(duì)象是類的一個(gè)具體實(shí)例 如:汽車是車的一種 // 類是對(duì)象的抽象 或者說 是由對(duì)象泛化 如:我們把汽車,自行車統(tǒng)一叫做車 function Car(name,geshu){//Car叫類 this.name=name; this.geshu=geshu;//=后面的為傳入的參數(shù) this.Che=function(){ console.log("車名:"+this.name+","+"輪胎:"+this.geshu+"!"); } } //這個(gè)函數(shù)用來創(chuàng)建對(duì)象 var qiche=new Car("汽車","4"); var zhixingche=new Car("自行車","2"); // 我們把這組用來創(chuàng)建對(duì)象的函數(shù)叫做【構(gòu)造函數(shù)】 // 【構(gòu)造函數(shù)】的功能就是創(chuàng)建對(duì)象 qiche.Che(); zhixingche.Che();//調(diào)用
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/97496.html
摘要:組合構(gòu)造函數(shù)原型模式解決構(gòu)造傳參和共享問題,可以組合構(gòu)造函數(shù)原型模式不共享的使用構(gòu)造函數(shù)共享的使用原型模式強(qiáng)制指向這種模式也是最常見也是最常用的模式,這種混合模式很好的解決了傳參和引用共享的大難題。 寫在前面: 之前的文章都是寫構(gòu)造函數(shù),原型之類的。但是我們都知道原型最大的優(yōu)點(diǎn)也是缺點(diǎn)就是共享。也是我們最頭疼的問題.據(jù)共享的緣故,導(dǎo)致很多開發(fā)者放棄使用原型,因?yàn)槊看螌?shí)例化出的數(shù)據(jù)需要保...
摘要:學(xué)編程真的不是一件容易的事不管你多喜歡或是多會(huì)編程,在學(xué)習(xí)和解決問題上總會(huì)碰到障礙。熟練掌握核心內(nèi)容,特別是和多線程初步具備面向?qū)ο笤O(shè)計(jì)和編程的能力掌握基本的優(yōu)化策略。 學(xué)Java編程真的不是一件容易的事,不管你多喜歡或是多會(huì)Java編程,在學(xué)習(xí)和解決問題上總會(huì)碰到障礙。工作的時(shí)間越久就越能明白這個(gè)道理。不過這倒是一個(gè)讓人進(jìn)步的機(jī)會(huì),因?yàn)槟阋恢辈粩嗟膶W(xué)習(xí)才能很好的解決你面前的難題...
摘要:異步流程管理說白了就是為了解決回調(diào)地獄的問題。對(duì)象代表一個(gè)異步操作,有三種狀態(tài)進(jìn)行中已成功和已失敗。如果改變已經(jīng)發(fā)生了,你再對(duì)對(duì)象添加回調(diào)函數(shù),也會(huì)立即得到這個(gè)結(jié)果。執(zhí)行函數(shù)后返回的是一個(gè)遍歷器對(duì)象,可以依次遍歷函數(shù)內(nèi)部的每一個(gè)狀態(tài)。 javascript -- 深度解析異步解決方案 高級(jí)語言層出不窮, 然而唯 js 鶴立雞群, 這要說道js的設(shè)計(jì)理念, js天生為異步而生, 正如布道...
摘要:而面向?qū)ο髣t是向程序員提供表示問題空間中元素的工具,我們將問題空間中的元素及其在解空間中的表示稱為對(duì)象。為什么要把對(duì)象看作是服務(wù)提供者呢這是將問題分解為對(duì)象集合的一種合理方式。職能太多,可能會(huì)導(dǎo)致對(duì)象的內(nèi)聚性降低。在試圖將子類對(duì)象當(dāng)作其基類 計(jì)算機(jī)是頭腦延伸的工具,是一種不同類型的表達(dá)媒體。本文以背景性的和補(bǔ)充性的材料,介紹包括開發(fā)方法概述在內(nèi)的面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-orie...
摘要:函數(shù)式編程與面向?qū)ο缶幊叹幊痰谋举|(zhì)之劍目錄編程的本質(zhì)讀到兩篇文章寫的不錯(cuò)綜合摘錄一下復(fù)合是編程的本質(zhì)函數(shù)式程序員在洞察問題方面會(huì)遵循一個(gè)奇特的路線。在面向?qū)ο缶幊讨校惢蚪涌诘穆暶骶褪潜砻妗? 函數(shù)式編程與面向?qū)ο缶幊蘙5]:編程的本質(zhì) 之劍 2016.5.6 01:26:31 編程的本質(zhì) 讀到兩篇文章,寫的不錯(cuò), 綜合摘錄一下 復(fù)合是編程的本質(zhì) 函數(shù)式程序員在洞察問題方面會(huì)遵循...
閱讀 1226·2023-04-25 15:53
閱讀 2101·2021-11-19 09:40
閱讀 3488·2021-10-11 10:59
閱讀 2066·2019-08-30 15:55
閱讀 1955·2019-08-30 15:54
閱讀 2293·2019-08-29 13:03
閱讀 2754·2019-08-28 18:17
閱讀 1510·2019-08-27 10:51