php面向对象编程,php面向对象
面向对象编程的基本原则:
- 单一职责:一个类,只需要做好一件事
- 开放封闭:一个类,应该是可扩展的,而不是可修改的
- 依赖倒置:一个类,不应该强依赖另一个类。每个类对应另外一个类都是可替换的
- 配置化:尽可能地使用配置,而不是硬编码
- 面向接口编程:只需要关心接口,不需要关心实现
1、设置类的属性
<span>class</span><span> ShopProduct { </span><span>public</span> <span>$title</span> = 'default product'<span>; </span><span>public</span> <span>$producterMainName</span> = 'main name'<span>; </span><span>public</span> <span>$producterFirstName</span> = 'first name'<span>; </span><span>public</span> <span>$price</span> = 0<span>; } </span><span>$product1</span> = <span>new</span><span> ShopProduct(); </span><span>//</span><span>设置属性</span> <span>$product1</span>->title = "My Antonia"<span>; </span><span>$product1</span>->producterFirstName = "Cather"<span>; </span><span>$product1</span>->producterMainName = "Willa"<span>; </span><span>$product1</span>->price = 5.99<span>; </span><span>//</span><span>访问</span> <span>echo</span> 'author: '.<span>$product1</span>->producterFirstName.' '.<span>$product1</span>->producterMainName;
用以上方法设置属性值会有很多问题:
第一:PHP允许动态设置属性,如果拼错或忘记属性名时并不会得到警告。例如错误地把
<span>$product1</span>->producterMainName = "Willa";
写作
<span>$product1</span>->producterSecondName = "Willa";
,当我们输出作者名字的时候,会有意想不到的结果。
第二:类太过松散,我们没有强制设置标题、价格或者产品名称,客户端代码可以确定的是这些属性存在,但是面对的可能是默认值也可能不是,理想情况下,我们希望实例化ShopProduct对象时设置有意义的属性值。
第三:不得不重复做一些经常做的事,比如多次需要完整输出作者的名字,就要重复使用
<span>echo</span> 'author: '.<span>$product1</span>->producterFirstName.' '.<span>$product1</span>->producterMainName;
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前ByDDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前ByDDD
Inzoi:如何申請學校和大學
3 週前ByDDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前ByDDD
Roblox:Dead Rails - 如何召喚和擊敗Nikola Tesla
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

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