面向?qū)ο缶幊痰幕靖拍?/h1>
面向?qū)ο缶幊痰幕靖拍?/strong>
面向?qū)ο缶幊?Object Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計(jì)) 的主要思想是把構(gòu)成問(wèn)題的各個(gè)事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描敘一個(gè)事物在整個(gè)解決問(wèn)題的步驟中的行為。
面向過(guò)程就是分析出解決問(wèn)題所需要的步驟,然后用函數(shù)逐步實(shí)現(xiàn),再依次調(diào)用就可以了。?
面向?qū)ο笈c面向過(guò)程是兩種不同的編程思想,沒(méi)有哪一種方式絕對(duì)完美,需要根據(jù)程具體項(xiàng)目來(lái)定。比如,開發(fā)一個(gè)小的軟件或網(wǎng)頁(yè),工程量小,短時(shí)間內(nèi)就可完成,完全可以采用面向過(guò)程的開發(fā)方式,使用面向?qū)ο?,反而?huì)增加代碼量,減緩運(yùn)行效率。
面向過(guò)程的編程語(yǔ)言(如C語(yǔ)言)不能創(chuàng)建類和對(duì)象,不能用面向?qū)ο蟮姆绞絹?lái)開發(fā)程序;面向?qū)ο蟮木幊陶Z(yǔ)言(如Java、C++、PHP)保留了面向過(guò)程的關(guān)鍵字和語(yǔ)句,可以采用面向過(guò)程的方式來(lái)開發(fā)程序。
面向?qū)ο缶幊淌窃诿嫦蜻^(guò)程編程以后提出的。
大家不必追求概念上的理解,很多有經(jīng)驗(yàn)的程序員甚至也不能完全解釋面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別,要重在實(shí)踐,深入揣摩編程語(yǔ)言的思想。
類和對(duì)象的基本概念
為了方便說(shuō)明,我們將從現(xiàn)實(shí)生活中的例子入手。
我們知道,工業(yè)上所使用的鑄件(家里做飯用的鍋、汽車的地盤、發(fā)動(dòng)機(jī)的機(jī)身等)都是由模子鑄造出來(lái)的,一個(gè)模子可以鑄造出很多相同的鑄件,不用的模子可以鑄造出不同的鑄件。這里的模子就是我們所說(shuō)的“類”,鑄件就是我們所說(shuō)的“對(duì)象”。
類,是創(chuàng)建對(duì)象的模板,一個(gè)類可以創(chuàng)建多個(gè)相同的對(duì)象;對(duì)象,是類的實(shí)例,是按照類的規(guī)則創(chuàng)建的。
屬性和方法
由模子鑄造出來(lái)的鑄件(對(duì)象),有很多參數(shù)(長(zhǎng)度、寬度、高度等),能完成不同的操作(煮飯、承重、保護(hù)內(nèi)部零件等)。這里的參數(shù)就是對(duì)象的“屬性”,完成的操作就是對(duì)象的“方法”。
屬性是一個(gè)變量,用來(lái)表示一個(gè)對(duì)象的特征,如顏色、大小、重量等;方法是一個(gè)函數(shù),用來(lái)表示對(duì)象的操作,如奔跑、呼吸、跳躍等。
對(duì)象的屬性和方法統(tǒng)稱為對(duì)象的成員。
類的繼承
一個(gè)類可以繼承另一個(gè)類的特征,如同兒子繼承父親的DNA、性格和財(cái)產(chǎn)等,與現(xiàn)實(shí)生活中的繼承類似。
面向?qū)ο缶幊痰幕靖拍?/strong>
面向?qū)ο缶幊?Object Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計(jì)) 的主要思想是把構(gòu)成問(wèn)題的各個(gè)事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描敘一個(gè)事物在整個(gè)解決問(wèn)題的步驟中的行為。
面向過(guò)程就是分析出解決問(wèn)題所需要的步驟,然后用函數(shù)逐步實(shí)現(xiàn),再依次調(diào)用就可以了。?
面向?qū)ο笈c面向過(guò)程是兩種不同的編程思想,沒(méi)有哪一種方式絕對(duì)完美,需要根據(jù)程具體項(xiàng)目來(lái)定。比如,開發(fā)一個(gè)小的軟件或網(wǎng)頁(yè),工程量小,短時(shí)間內(nèi)就可完成,完全可以采用面向過(guò)程的開發(fā)方式,使用面向?qū)ο?,反而?huì)增加代碼量,減緩運(yùn)行效率。
面向過(guò)程的編程語(yǔ)言(如C語(yǔ)言)不能創(chuàng)建類和對(duì)象,不能用面向?qū)ο蟮姆绞絹?lái)開發(fā)程序;面向?qū)ο蟮木幊陶Z(yǔ)言(如Java、C++、PHP)保留了面向過(guò)程的關(guān)鍵字和語(yǔ)句,可以采用面向過(guò)程的方式來(lái)開發(fā)程序。
面向?qū)ο缶幊淌窃诿嫦蜻^(guò)程編程以后提出的。
大家不必追求概念上的理解,很多有經(jīng)驗(yàn)的程序員甚至也不能完全解釋面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別,要重在實(shí)踐,深入揣摩編程語(yǔ)言的思想。
類和對(duì)象的基本概念
為了方便說(shuō)明,我們將從現(xiàn)實(shí)生活中的例子入手。
我們知道,工業(yè)上所使用的鑄件(家里做飯用的鍋、汽車的地盤、發(fā)動(dòng)機(jī)的機(jī)身等)都是由模子鑄造出來(lái)的,一個(gè)模子可以鑄造出很多相同的鑄件,不用的模子可以鑄造出不同的鑄件。這里的模子就是我們所說(shuō)的“類”,鑄件就是我們所說(shuō)的“對(duì)象”。
類,是創(chuàng)建對(duì)象的模板,一個(gè)類可以創(chuàng)建多個(gè)相同的對(duì)象;對(duì)象,是類的實(shí)例,是按照類的規(guī)則創(chuàng)建的。
屬性和方法
由模子鑄造出來(lái)的鑄件(對(duì)象),有很多參數(shù)(長(zhǎng)度、寬度、高度等),能完成不同的操作(煮飯、承重、保護(hù)內(nèi)部零件等)。這里的參數(shù)就是對(duì)象的“屬性”,完成的操作就是對(duì)象的“方法”。
屬性是一個(gè)變量,用來(lái)表示一個(gè)對(duì)象的特征,如顏色、大小、重量等;方法是一個(gè)函數(shù),用來(lái)表示對(duì)象的操作,如奔跑、呼吸、跳躍等。
對(duì)象的屬性和方法統(tǒng)稱為對(duì)象的成員。
類的繼承
一個(gè)類可以繼承另一個(gè)類的特征,如同兒子繼承父親的DNA、性格和財(cái)產(chǎn)等,與現(xiàn)實(shí)生活中的繼承類似。