4.如何抽像出一個類別?
上面已經介紹過了,物件導向程式的單位就是對象,但物件又是透過類別的實例化出來的,所以
我們首先要做的就是如何來聲明類,做出來一個類別很容易,只要掌握基本的程式語法定義規則就可
以做的出來,那麼難點在那裡呢?一個項目要用到多少個類,用多少個對象,在那要定義類,定義
一個什麼樣的類,這個類實例化出多少個對象,類裡面有多少個屬性,有多少個方法等等,這就需
要讀者透過在實際的開發中就實際問題分析設計和總結了。
類別的定義:
class 类名{ }
使用一個關鍵字class 和後面加上一個你想要的類別名稱以及加上一對大括號, 這樣一個類別的結構
就定義出來了,只要在裡面寫程式碼就可以了,但是裡面寫什麼?能寫什麼?怎麼寫才是一個完整的
類呢?上面講過來,使用類別是為了讓它實例出物件來給我們用,這就要知道你想要的是什麼樣的對
象了,像上面我們講的一個裝機配置單上寫什麼,你裝出來的機子就有什麼。比如說,一個人就是
一個對象,你怎麼把一個你看好的人推薦給你們領導者呢?當然是越詳細越好了:
首先,你會介紹這個人姓名、性別、年齡、身高、體重、電話、家庭住址等等。
然後,你要介紹這個人能做什麼,可以開車,會說英語,可以使用電腦等等。
只要你介紹多一點,別人對這個人就多一點了解,這就是我們對一個人的描述, 現在我們總結
一下,所有的對像我們用類去描述都是類似的,從上面人的描述可以看到, 做出一個類別來,從定
義的角度分兩部分,第一是從靜態上描述,第二是從動態上描述, 靜態上的描述就是我們所說的
屬性,像上面我們看到的,人的姓名、性別、年齡、身高、體重、電話、家庭住址等等。動態上也
就是人的這個物件的功能,例如這個人可以開車,會說英語,可以使用電腦等等,抽象成程式時,
我們把動態的寫成函數或者說是方法,函數和方法是一樣的。所以,所有類別都是從屬性和方法這兩
方面去寫, 屬性又叫做這個類別的成員屬性,方法叫做這個類別的成員方法。
class 人{ 成员属性:姓名、性别、年龄、身高、体重、电话、家庭住址 成员方法:可以开车, 会说英语, 可以使用电脑 }
屬性:
透過在類別定義中使用關鍵字" var "來聲明變量,即創建了類別的屬性,雖然在聲明成員屬性
的時候可以給定初始值, 但是在聲明類別的時候給成員屬性初始值是沒有必要的,比如說要
是把人的姓名賦上「張三」,那麼用這個類實例出幾十個人,這幾十個人都叫張三了,所以
沒有必要,我們在實例出物件後給成員屬性初始值就可以了。
如:
var $somevar; 方法(成员函数): 通过在类定义中声明函数,即创建了类的方法。 如: function somefun(参数列表) { ... ... } <?php class Person { //下面是人的成员属性 var $name; //人的名字 var $sex; //人的性别 var $age; //人的年龄 //下面是人的成员方法 function say() //这个人可以说话的方法 { echo "这个人在说话"; }f unction run() //这个人可以走路的方法 { echo "这个人在走路"; } } ?>
上面就是一個類的聲明,從屬性和方法上聲明出來的一個類,但是成員屬性最好在聲明的時候
不要給初始的值,因為我們做的人這個類是一個描述訊息,將來用它實例化對象,例如實例化出來
10 個人對象,那麼這10 個人, 每一個人的名字、性別、年齡都是不一樣的,所以最好不要在這個
地方給成員屬性賦初值,而是對每個物件分別賦值的。
用同樣的辦法可以做出你想要的類別了,只要你能用屬性和方法能描述出來的實體都可以定義成
類,去實例化物件。
為了加強你對類的理解,我們再做一個類,做一個形狀的類,形狀的範圍廣了點, 我們就做個
矩形吧,先分析一下,想一想從兩方面分析,矩形的屬性都有什麼?矩形的功能都有什麼?
class 矩形 { //矩形的属性 矩形的长; 矩形的宽; //矩形的方法 矩形的周长; 矩形的面积; } <?php class Rect { var $kuan; var $gao; function zhouChang() { 计算矩形的周长; }f unction mianJi() { 计算矩形的面积; } } ?>
如果用這個類來創建出多個矩形對象,每個矩形對像都有自己的長和寬, 都可以求出自己的周
長和麵積了。
類的聲明我們就到這裡吧! !
以上就是php物件導向教學2的內容,更多相關內容請關注PHP中文網(www.php.cn)!

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境