php物件導向教程2

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

class 類名{}

使用一個關鍵字class 和後面加上一個你想要的類名以及加上一對大括弧, 這樣一個類的結構
就定義出來了,只要在裡面寫代碼就可以了,但是裡面寫什嗎?能寫什嗎?怎樣寫才是一個完整的
類呢?上面講過來,使用類是為了讓它執行個體出對象來給我們用,這就要知道你想要的是什麼樣的對
象了,像上面我們講的一個裝機配置單上寫什麼,你裝出來的機子就有什麼。比如說,一個人就是
一個對象,你怎麼把一個你看好的人推薦給你們領導呢?當然是越詳細越好了:
首先,你會介紹這個人姓名、性別、年齡、身高、體重、電話、家庭住址等等。
然後,你要介紹這個人能做什麼,可以開車,會說英語,可以使用電腦等等。
只要你介紹多一點,別人對這個人就多一點瞭解,這就是我們對一個人的描述, 現在我們總結
一下,所有的對象我們用類去描述都是類似的,從上面人的描述可以看到, 做出一個類來,從定
義的角度分兩部分,第一是從靜態上描述,第二是從動態上描述, 靜態上的描述就是我們所說的
屬性,像上面我們看到的,人的姓名、性別、年齡、身高、體重、電話、家庭住址等等。動態上也
就是人的這個對象的功能,比如這個人可以開車,會說英語,可以使用電腦等等,抽象成程式時,
我們把動態寫成函數或者說是方法,函數和方法是一樣的。所以,所有類都是從屬性和方法這兩
方面去寫, 屬性又叫做這個類的成員屬性,方法叫做這個類的成員方法。

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

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

var $somevar;方法(成員函數):通過在類定義中聲明函數,即建立了類的方法。如: function somefun(參數列表){ ... ... }<?phpclass Person{//下面是人的成員屬性var $name; //人的名字var $sex; //人的性別var $age; //人的年齡//下面是人的成員方法function say() //這個人可以說話的方法{echo "這個人在說話";}function run() //這個人可以走路的方法{echo "這個人在走路";}}?>

上面就是一個類的聲明,從屬性和方法上聲明出來的一個類,但是成員屬性最好在聲明的時候
不要給初始的值,因為我們做的人這個類是一個描述資訊,將來用它執行個體化對象,比如執行個體化出來
10 個人對象,那麼這10 個人, 每一個人的名字、性別、年齡都是不一樣的,所以最好不要在這個
地方給成員屬性賦初值,而是對每個對象分別賦值的。
用同樣的辦法可以做出你想要的類了,只要你能用屬性和方法能描述出來的實體都可以定義成
類,去執行個體化對象。
為了加強你對類的理解,我們再做一個類,做一個形狀的類,形狀的範圍廣了點, 我們就做個
矩形吧,先分析一下,想一想從兩方面分析,矩形的屬性都有什嗎?矩形的功能都有什嗎?

class 矩形{//矩形的屬性矩形的長;矩形的寬;//矩形的方法矩形的周長;矩形的面積;}<?phpclass Rect{var $kuan;var $gao;function zhouChang(){計算矩形的周長;}function mianJi(){計算矩形的面積;}}?>

如果用這個類來建立出多個矩形對象,每個矩形對象都有自己的長和寬, 都可以求出自己的周
長和面積了。
類的聲明我們就到這裡吧!!

以上就是php物件導向教程2的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.