【PHP物件導向(OOP)編程入門教程】4.如何抽象出一個類?

來源:互聯網
上載者:User

標籤:類的聲明   最好   ace   入門教程   成員函數   lin   為我   highlight   身高   

上面已經介紹過了, 物件導向程式的單位就是對象,但對象又是通過類的執行個體化出來的,所以我們首先要做的就是如何來聲明類, 做出來一個類很容易,只要掌握基本的程式文法定義規則就可以做的出來,那麼痛點在那裡呢? 一個項目要用到多少個類,用多少個對象, 在那要定義類,定義一個什麼樣的類,這個類執行個體化出多少個對象, 類裡面有多少個屬性, 有多少個方法等等,這就需要讀者通過在實際的開發中就實際問題分析設計和總結了。 類的定義:

12 class 類名 {}

使用一個關鍵字class和後面加上一個你想要的類名以及加上一對大括弧, 這樣一個類的結構就定義出來了,只要在裡面寫代碼就可以了, 但是裡面寫什嗎? 能寫什嗎?怎樣寫才是一個完整的類呢?上面講過來,使用類是為了讓它執行個體出對象來給我們用, 這就要知道你想要的是什麼樣的對象了,像上面我們講的一個裝機配置單上寫什麼,你裝出來的機子就有什麼。比如說,一個人就是一個對象,你怎麼把一個你看好 的人推薦給你們領導呢?當然是越詳細越好了:

首先, 你會介紹這個人姓名、性別、年齡、身高、體重、電話、家庭住址等等。

然後,你要介紹這個人能做什麼, 可以開車, 會說英語, 可以使用電腦等等。

只要你介紹多一點, 別人對這個人就多一點瞭解, 這就是我們對一個人的描述, 現在我們總結一下,所有的對象我們用類去描述都是類似的, 從上面人的描述可以看到, 做出一個類來, 從定義的角度分兩部分, 第一是從靜態上描述, 第二是從動態上描述, 靜態上的描述就是我們所說的屬性, 像上面我們看到的,人的姓名、性別、年齡、身高、體重、電話、家庭住址等等。 動態上也就是人的這個對象的功能,比如這個人可以開車, 會說英語, 可以使用電腦等等,抽象成程式時,我們把動態寫成函數或者說是方法,函數和方法是一樣的。所以,所有類都是從屬性和方法這兩方面去寫, 屬性又叫做這個類的成員屬性,方法叫做這個類的成員方法。

1234 class 人 {    成員屬性:姓名、性別、年齡、身高、體重、電話、家庭住址    成員方法:可以開車, 會說英語, 可以使用電腦}

屬性:

通過在類定義中使用關鍵字" var "來聲明變數,即建立了類的屬性,雖然在聲明成員屬性的時候可以給定初值, 但是在聲明類的時候給成員屬性初始值是沒有必要的,比如說要是把人的姓名賦上“張三”,那麼用這個類執行個體出幾十個人,這幾十個人都叫張三了,所以沒有必 要, 我們在執行個體出對象後給成員屬性初始值就可以了。

如: var $somevar;

方法(成員函數):

通過在類定義中聲明函數,即建立了類的方法。

如:

123 function somefun(參數列表) {    ... ...}
1234567891011121314151617 <?phpclass Person {    // 下面是人的成員屬性    var $name;  // 人的名子    var $sex;   // 人的性別    var $age;   // 人的年齡     // 下面是人的成員方法    function say() { // 這個人可以說話的方法        echo "這個人在說話";    }     function run() { // 這個人可以走路的方法        echo "這個人在走路";    }}?>

上面就是一個類的聲明, 從屬性和方法上聲明出來的一個類, 但是成員屬性最好在聲明的時候不要給初使的值, 因為我們做的人這個類是一個描述資訊, 將來用它執行個體化對象, 比如執行個體化出來10個人對象, 那麼這10個人, 每一個人的名子, 性別, 年齡都是不一樣的, 所以最好不要在這個地方給成員屬性賦初值, 而是對每個對象分別賦值的。

用同樣的辦法可以做出你想要的類了, 只要你能用屬性和方法能描述出來的實體都可以定義成類, 去執行個體化對象。

為了加強你對類的理解, 我們再做一個類, 做一個形狀的類, 形狀的範圍廣了點, 我們就做個矩形吧, 先分析一下, 想一想從兩方面分析,矩形的屬性都有什嗎? 矩形的功能都有什嗎?

123456789 class 矩形 {    // 矩形的屬性    矩形的長;    矩形的寬;     // 矩形的方法    矩形的周長;    矩形的面積;}

PHP代碼:

1234567891011121314 <?phpclass Rect {    var $kuan;    var $gao;     function zhouChang() {        計算矩形的周長;    }     function mianJi() {        計算矩形的面積;    }}?>

如果用這個類來建立出多個矩形對象,每個矩形對象都有自己的長和寬, 都可以求出自己的周長和面積了。

【PHP物件導向(OOP)編程入門教程】4.如何抽象出一個類?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.