好程序員分享面向?qū)ο蟾拍畹睦斫庖约癊S3和ES6中類的寫法

   好程序員 分享面向?qū)ο蟾拍畹睦斫庖约?ES3 和 ES6 中類的寫法 , 本文將從以下四個方面進行講解:

10年的臺江網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整臺江建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“臺江網(wǎng)站設計”,“臺江網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

 

  1 、 面向?qū)ο蟮母拍?/p>

 

  2 、 類和對象的概念

 

  3 、 ES6 中類的寫法

 

  4 、 ES3 中“類”的寫法

 

  以下為詳細內(nèi)容:

 

  1 、 面向?qū)ο蟮母拍?/p>

 

  面向?qū)ο螅?IT 行業(yè)的地球人都知道很重要,很難理解,對于很多做過好幾年開發(fā)的人不見得對面向?qū)ο笸耆斫狻C嫦驅(qū)ο缶幊淌且环N編程思想,是基本沿用人類習慣性思維的一種編程思想。 ps :我給學生講課時,經(jīng)常問學生“編程為了什么”,學生說掙錢,為了更好的生活,我讓學生提高一下高度,最后就提升到了“為人民 ( 類 ) 服務”了 ( 哈哈 ) ,此話不假。因為,編程就是要做信息化的事情,而信息化就是信息化整個社會,即把人類社會的各行各業(yè)都進行信息化,也就是為人類服務了。那么,既然要為人類服務,解決人類社會的問題,那么,是不是該用人類的思維才對呀。

 

  我來分享一下我對面向?qū)ο蟮睦斫狻?/p>

 

  比如,我們要創(chuàng)辦一個公司 ( 資金已經(jīng)到位 ) 。會按照以下步驟:

 

  首先,我們需要考慮的是,創(chuàng)辦公司需要哪些角色,如:總經(jīng)理,市場人員,技術(shù),售后,財務,行政,進一步細化,總經(jīng)理的要求有:性別,年齡,經(jīng)驗,總經(jīng)理要負責公司的正常經(jīng)營和利潤的保證等等。市場人員的要求:性別,年齡,經(jīng)驗,市場人員要負責公司市場的拓展和業(yè)務的保證等等。技術(shù)人員的要求:性別,年齡,經(jīng)驗,能夠勝任技術(shù)方面的相關(guān)工作,如:要會用原生的 JS 寫插件,技術(shù)人員負責完成客戶的需求等等,這些都是對公司角色的描述,在面向?qū)ο缶幊趟枷胫?,就是類,當? Javascript 是從 ES6 開始才提出了類的概念,以前的版本沒有類的概念,只有對象之說。

 

  其次,我們會想到,工作該如何開展。如:先得有總經(jīng)理,然后讓總經(jīng)理招聘市場人員了解市場,開拓市場,再招聘技術(shù)人員開發(fā)產(chǎn)品,產(chǎn)品快要成型時,招聘售后人員了解產(chǎn)品,準備售后的服務工作,財務人員也得跟上,這里面,也有團隊配合的體現(xiàn),比如,市場人員沒法給客戶講清楚具體的實現(xiàn)時,就需要技術(shù)人員配合市場人員給客戶講解等等。當然,每個公司的具體流程不太一樣,但是,都是同樣的道理。這些就是程序中的業(yè)務邏輯部分。

 

  比如,我們要創(chuàng)辦一個培訓學校,會按照以下步驟:

 

  首先,我們需要考慮的是,創(chuàng)辦學校需要哪些角色,如:校長,市場人員,咨詢?nèi)藛T,講師,班主任,就業(yè)老師,財務,行政等等。校長的要求:需要具備什么,能干什么 ; 市場人員的要求:有什么,能干什么 ; 講師的要求:有什么,能干什么 ; 等等,這些都是對公司角色的描述,在面向?qū)ο缶幊趟枷胫?,就是類,而“有什么”就是類的屬? ( 變量 ) ,“能干什么”就是類的方法 ( 函數(shù) ) 。

 

  其次,我們會想到,工作該如何開展,即工作流程。如:讓市場人員先做宣傳,學生如果想進一步了解,就需要咨詢師進行咨詢,咨詢完成后,學生覺得學習 JS 確實不錯,就會報名進班,財務處收學費,班主任建立學生的學籍,進行班級日常管理 , 講師開始授課,解答學生的問題,學習完成后,就業(yè)老師把學生推薦給企業(yè),這里也能體現(xiàn)團隊配合,如:學生咨詢過程中,問到了比較深的技術(shù)問題,咨詢師解答不了,就需要找講師配合等等。在面向?qū)ο缶幊趟枷胫羞@就是大的業(yè)務邏輯,即程序邏輯。

 

  再比如,我們要完成講課這件事情,首先需要考慮,必須有桌椅板凳,電腦,投影儀,講師,學生等等,其次考慮,先買桌椅板凳,電腦,投影儀,學生進教室,講師進教室開始講課。

 

  在面向?qū)ο缶幊趟枷氤鰜碇?,我們更多用的是面向過程的編程思想。

 

  面向過程的編程思想和面向?qū)ο蟮木幊趟枷胗泻螀^(qū)別。面向過程首先著重考慮的是程序邏輯,其次考慮的是數(shù)據(jù)。而面向?qū)ο笫紫戎乜紤]的是數(shù)據(jù) ( 類和對象 ) ,其次考慮的是邏輯 ( 即業(yè)務邏輯 ) 。

 

  單干與團隊協(xié)作:面向過程程序的執(zhí)行過程,更像是單干 ; 面向?qū)ο蟪绦虻膱?zhí)行過程,更像是現(xiàn)實生活中的團隊協(xié)作。所以,我們在描述面向過程程序的邏輯時,沒有主語 ( 語文的解釋 ) ,如:先干啥,再干啥,然后干啥,最后干啥。而描述面向?qū)ο蟮倪壿嫊r,有主語,如:誰先干啥,誰再干啥,然后誰干啥,最后誰干啥。

 

  面向?qū)ο笏枷氲暮诵木褪且磺薪詫ο螅瓿扇魏喂δ?,面對的最小單位都是對象,而不是基本?shù)據(jù)類型 ( 如:數(shù)字,布爾等等 ) 。

 

  2 、 類和對象

 

  類和對象:在面向?qū)ο缶幊陶Z言中,經(jīng)常會聽到類和對象。類就是分類,就是類型,就是數(shù)據(jù)類型 ; 對象就是類的舉例,類的實例,就是變量或者常量。如:數(shù)字是數(shù)據(jù)類型,而 250 就是數(shù)字類型的一個例子 ; 人是數(shù)據(jù)類型 ( 類 ) ,唐僧就是人的一個例子 ( 對象 ) 。

 

  對象就是復雜的數(shù)據(jù),如:人沒法用數(shù)字,布爾等基本類型描述,人是一個復雜的事物,由很多數(shù)據(jù)構(gòu)成。一個人有身份證號碼,姓名,性別,年齡,把這一切組合 ( 封裝 ) 起來才是個人,人由若干個基本類型的數(shù)據(jù)組成。但這遠遠還不夠,因為死人也具備這些屬性 ( 開個玩笑,為藝術(shù)獻身一下 ) ,人能吃飯,能工作,此時,這個人才活靈活現(xiàn)了,所以,對象里面包括數(shù)據(jù)和函數(shù) ; 數(shù)據(jù)又叫屬性,成員變量,函數(shù)又叫方法。在面向?qū)ο蟮氖澜缋铮晳T上會叫屬性和方法,簡單理解:對象 = 變量 + 函數(shù)。

 

  綜上所述,面向?qū)ο笫且环N編程思想,而對象是復雜的數(shù)據(jù)類型,所以,面向?qū)ο缶褪牵鎸Φ亩际菑碗s的數(shù)據(jù)類型,而不是單一的整型,布爾等基本類型,對象是由若干個基本類型的數(shù)據(jù)構(gòu)成,甚至對象里還有子對象,當然還有方法。

 

  注:以上所述的類和對象是 ES6 中的名詞

 

  3 、 ES6 中類和對象的代碼

 

  1) 、定義一個程序員類:

 

  class Programmer{

 

  // 構(gòu)造函數(shù)

 

  constructor(name,sex,age){

 

  // 屬性

 

  this.name = name;

 

  this.sex = sex;

 

  this.age = age;

 

  }

 

  // 方法

 

  writeCode(str){

 

  alert(this.name+ ”在認真地寫著” +str);

 

  }

 

  }

 

  2) 、實例化一個程序員對象:

 

  Let p1 = new Programmer( “寶寶” , “男” ,25);// 這句話會調(diào)用 constructor () 函數(shù)

 

  p1.writeCode( “貪吃蛇” );

 

  以上代碼,和傳統(tǒng)面向?qū)ο缶幊陶Z言的寫法比較接近。對程序員來說,是福音。 Javascript 的代碼格式越來越接近傳統(tǒng)面向?qū)ο缶幊陶Z言的寫法。

 

  4 、 ES3 中“類”的寫法

 

  1) 、區(qū)分一個 ES3 和 ES6 的名詞:

 

  ES3 中沒有類的叫法。

 

  ES3 中的對象就是 ES6 中的類。

 

  ES3 中的實例就是 ES6 中的對象。

 

  2) 、 ES3 中的的代碼

 

  用構(gòu)造函數(shù)的方式定義一個程序員對象 (ES6 中叫類 ) :

 

  function Programmer (name,sex,age){

 

  // 屬性

 

  this.name = name;

 

  this.sex = sex;

 

  this.age = age;

 

  }

 

  // 方法

 

  Programmer .prototype.writeCode(str){

 

  alert(this.name+ ”在認真地寫著” +str);

 

  }

 

  l 實例化一個程序員實例 (ES6 中叫對象 ) :

 

  Let p1 = new Programmer( “寶寶” , “男” ,25);// 這句話會調(diào)用 constructor () 函數(shù)

 

  p1.writeCode( “貪吃蛇” );

 

  對比 ES6 和 ES3 的寫法,你會發(fā)現(xiàn),實例化對象的代碼一模一樣,僅僅只是定義類的寫法不同。其實, ES6 中 class 的寫法只是個語法糖,相當于給 ES3 的寫法上增加了給一個外包裝。 ES6 中 class 寫法的背后還是 ES3 的寫法。只是程序員寫 ES6 的代碼時,更加接近傳統(tǒng)面向?qū)ο缶幊陶Z言 ( 如: java , C++ 等 ) 。這樣對于程序員來說,再去學習新的語言要容易得多 ; 另外, ES6 的 class 寫法更加方便閱讀。

 

  注:此篇文章的重點是理解面向?qū)ο缶幊趟枷搿?/p>

網(wǎng)頁標題:好程序員分享面向?qū)ο蟾拍畹睦斫庖约癊S3和ES6中類的寫法
文章鏈接:http://bm7419.com/article46/gosehg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站策劃、網(wǎng)站營銷靜態(tài)網(wǎng)站、做網(wǎng)站小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化