oop1
1、面向過(guò)程編程方法,是將程序看成一個(gè)個(gè)步驟;而面向?qū)ο缶幊?OOP)方法是將程序看成一個(gè)個(gè)具有不同功能的部件在協(xié)同工作,類就是描述這些部件的數(shù)據(jù)結(jié)構(gòu)和行為方式,而對(duì)象就是這些具體的部件。?
2、對(duì)象的定義:一個(gè)對(duì)象有自己的狀態(tài),行為和唯一的標(biāo)識(shí);所有相同類型的對(duì)象所具有的結(jié)構(gòu)和行為在它們共同的類中定義
3、對(duì)象的狀態(tài): 包括這個(gè)對(duì)象已有的屬性 (小明的身高,體重,性別等)
4、行為:是指一個(gè)對(duì)象如何影響外界及被外界影響,表現(xiàn)為對(duì)象自身狀態(tài)的改變和信息的傳遞 ( 小明,他可以唱歌給大家聽(tīng),這是他的行為,他會(huì)學(xué)習(xí)新知識(shí),等)?
5、標(biāo)識(shí):是指一個(gè)對(duì)象所具有的區(qū)別于其他對(duì)象的屬性(不是變量名,而是內(nèi)存地址)
6、一個(gè)類就是一群對(duì)象所共有的結(jié)構(gòu)和行為。而一個(gè)對(duì)象對(duì)外部公開(kāi)的屬性和方法被稱為對(duì)外部的接口
7、屬性和方法: 包括實(shí)例屬性和靜態(tài)屬性, 也即實(shí)例方法和靜態(tài)方法 ,
實(shí)例屬性是用變量來(lái)表示的,
實(shí)例方法描述這個(gè)實(shí)例有哪些行為,方法可分為外部可訪問(wèn)和外部不可訪問(wèn),其中外部不可訪問(wèn)的方法,用來(lái)描述類中的各個(gè)成員互相協(xié)作的內(nèi)部邏輯,而外部可訪問(wèn)的方法是這個(gè)對(duì)象可以對(duì)外部提供的服務(wù)
8、靜態(tài)屬性:存儲(chǔ)所有對(duì)象共同的狀態(tài)(屬性),和任何的實(shí)例(對(duì)象)沒(méi)有關(guān)聯(lián)。每個(gè)對(duì)象的實(shí)例屬性可以各不相同,但所有同類對(duì)象的靜態(tài)屬性值是要同的,改變一個(gè)類的靜成屬性,將會(huì)影響到該類的所有實(shí)例,靜態(tài)屬性是屬于類的,每個(gè)實(shí)例中都有可能改變靜態(tài)變量的值,
9、靜態(tài)方法:也是獨(dú)立于所有實(shí)例的。靜態(tài)方法僅和每個(gè)類綁定,不和類的任何具體實(shí)例(對(duì)象)綁定,靜態(tài)屬性和靜態(tài)方法都應(yīng)該通過(guò)類訪問(wèn)
10、類的實(shí)例化? $對(duì)象名=new 類名[()];???? 這里要把后面的類名看成是構(gòu)造函數(shù),而不應(yīng)該把它理解為類名?
11、構(gòu)造函數(shù)(用于構(gòu)造對(duì)象的函數(shù)):對(duì)象的創(chuàng)建和刪除是所有OOP語(yǔ)言關(guān)注的重要課程,創(chuàng)建對(duì)象時(shí),會(huì)自動(dòng)調(diào)用構(gòu)造函數(shù)(方法),我們?cè)谑褂靡粋€(gè)對(duì)象前,往往需要初始化這個(gè)新生的對(duì)象狀態(tài),構(gòu)造方法的作用就是在實(shí)例(對(duì)象)新生時(shí),自動(dòng)給它設(shè)置一些狀態(tài)(屬性)
12、$this 關(guān)鍵字,持有對(duì)當(dāng)前對(duì)象(實(shí)例)的引用 ,注意 $this關(guān)鍵字,只限于實(shí)例屬性和實(shí)例方法,靜態(tài)屬性和靜態(tài)方法只應(yīng)該用 類名::屬生|方法 的形式調(diào)用
,在類中也可以使用 self::$靜態(tài)變量 的形式調(diào)用靜態(tài)變量?
13、封裝 :又叫隱藏實(shí)現(xiàn),就是將具體實(shí)現(xiàn)的細(xì)節(jié)隱藏起來(lái),只將必要的功能接口對(duì)外開(kāi)放,用戶只知道這些代碼單元可以提供哪些服務(wù),但這知道這些代碼單元中具體的邏輯如何
14、private\protected\public這個(gè)關(guān)鍵字,僅與封裝有關(guān),和繼承沒(méi)有半點(diǎn)關(guān)系,用private限定的成員,依然會(huì)被繼承,這些關(guān)鍵字只是限定了某些狀態(tài)(屬性)或者行為(方法)是否可以被外部訪問(wèn)到。
15、靜態(tài)屬性的訪問(wèn): 類名::$屬性名???? 注意 有 “$"
16、靜態(tài)方法的訪問(wèn): 類名::方法名()??
17、常量:
定義方式: const 大寫(xiě)名稱=值;
訪問(wèn)方式: 類名::常量名?? 沒(méi)有 $
常量和靜態(tài)屬性很象,也是屬于類的,不屬于某個(gè)實(shí)例
18、抽象類
主要用來(lái)限定子類的規(guī)范或者說(shuō)是格式,抽象類至少會(huì)包含一個(gè)抽象方法,即沒(méi)有方法體的方法,子類中必須完全現(xiàn)實(shí)所有的抽象方法才能實(shí)例化,子類中抽象方法的封裝訪問(wèn)限定詞不能比父類限定更嚴(yán)格?
轉(zhuǎn)載于:https://blog.51cto.com/hwp2011/707639
總結(jié)
- 上一篇: Net与Flex入门
- 下一篇: 网络工程师要如何选择?