php面向对象开发学习笔记
面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性
注意:
1.在定义对象方法的时候,虽然不用在前面写public默认为公共方法,但是建议写上。
php面向对象第一天
1.什么是面向对象?
要素:抽象性,封装性,共享性,强调对象结构而不是程序结构。
什么是类?
可以理解成一个功能集合菜单,我们通过类来实现生成我们的方法。
例:一台电脑
类:显示器/键盘/主机...的集合(封装)。
对象:显示器/键盘/主机……其中之一,拥有自己的独有功能。
属性:电脑。
方法:提高功能,看电影,玩游戏,编程,上网……。
2.使用class创建一个类
有了类才能有方法。
格式:
class 方法名 {
......
}
成员属性:自定义变量(一个名而已)。
成员方法:自定义功能。
3.类的成员属性和成员方法
注意:使用public来定义成员属性不要用var。
实例:
代码如下 | 复制代码 |
class MyPc { //声明一个类,定义一个方法MyPc。 public $name; //成员属性。 var $price; //成员属性 function vod() { //成员方法,实现返回字符串功能。 return "test"; } } |
4.使用new函数对象实例化
格式:new 对象名(参数)
实例1:
代码如下 | 复制代码 |
class MyPc { //声明一个类,定义一个方法MyPc。 $pc1 = new Mypc(); //实例化 |
实例2:
代码如下 | 复制代码 |
class MyPc { var $key; function vod() { } $pc1 = new MyPc(); echo $pc1->key;
|
php面向对象第二天
1.创建一个和多个对象。
2.对象中的 $this 关键字。
3.初始化对象 __construct()
4.析构函数 __destruct()
-----------------------------------------
1.创建一个和多个对象
创建一个和多个对象我们只需要多次使用 new 函数,对类进行实例化。
实例:
代码如下 | 复制代码 |
class MyPc { function vod() { $pc1 = new MyPc();
|
2.对象中的 $this 关键字
$this 关键字是用来访问当前对象中的对象属性和对象方法的系统变量。
范围:该类当中。
实例:
代码如下 | 复制代码 |
class MyPc { public $name;-------- public $price; | | function vod() { | $this->name; } .... $this->vod(); //这样输出调用的就是 public $name; .... } |
实例2:
代码如下 | 复制代码 |
class MyPc { function vod() { } $pc1->name = "1号计算机";
|
3.初始化对象 __construct()
初始化相当于就是预先预定好某个成员属性的初始值。
格式:
class MyPc {
function __construct() {
初始化操作
}
}
实例:
代码如下 | 复制代码 |
class MyPc { function __construct($name = "") { //初始化。 function vod() { function game() { } echo $pc1->vod() . " |
4.析构函数 __destruct()
能够在对象释放时自动被调用的方法,被成为析构函数,也能理解为垃圾回收机制。
规则:后进先出,先实例化后释放,最后实例化调用,最先释放。
最后被调用。
实例:
代码如下 | 复制代码 |
class MyPc { function __construct($name = "") { function vod() { function game() { function __destruct() { //后进先出。 } echo $pc1->vod() . " |
php面向对象第三天
类的封装和应用
1.封装关键字:public , protected , private。
2.封装相关函数:__set() , __get()。
-----------------------------------------------
1.封装关键字:public , protected , private
封装是把一些相关的属性和行为隐藏起来,从而得到保护和安全。
封装关键字
public:表示全局,类内部外部子类都可以访问。
protected:表示受保护的,只有本类或子类或父类中可以访问。
private:表示私有的,只有本类内部可以使用。[重要:这个关键字在使用时,调用私有属性或方法,只能在本类调用,感觉就像多一道工序,做一个跳板。详见实例2]
public protected private
全局 1 0 0
继承类 1 1 0
本类 1 1 1
实例:
代码如下 | 复制代码 |
class MyPc { private function vod() { //私有属性 |
实例2:
代码如下 | 复制代码 |
class MyPc {
|
分装相关函数: __set() , __get() 作用:操作私有属性或方法。
__set():取得当前类中封装过的私有属性或私有方法,重新执行或赋值操作。
格式:__set($n,$v)
__get():取得(间接访问防止裸输出)当前类中封装过的属性或方法并转换成公有属性。
__get/__set实例:
代码如下 | 复制代码 |
class MyPc { public function __get($name) { |
类的继承和应用
1.继承关键字:extends。
2.PHP继承的规则。
3.基类方法重载和基类方法访问。
------------------------------------------------
1.继承关键字:extends
PHP类的继承,我们可以理解成共享被继承类(基类)的类容。
注意:PHP是单一继承。
2.格式
代码如下 | 复制代码 |
class MyPc { class Home extends MyPc { |
3.基类方法重载和基类方法访问
格式:基类名::原始基类方法名称
4.实例
继承:
代码如下 | 复制代码 |
class Root { class Son extends Root { $p = new Son(); |
重载:
如果基类的某个方法需要在派生类中加强,那么可以用重载功能
代码如下 | 复制代码 |
class Root { class Son extends Root { $p = new Son();
|
类的抽象方法和类
其实也可以理解为,这是一个规范。在类的开头定义一个抽象类和方法,然后在下面的类继承抽象类,这样可以强制规范以下派生类的方法命名(就只是在抽象类中定义的抽象方法名,还可自己增加,但是主要的不能修改)。
1.抽象关键字:abstract。
2.抽象方法和抽象类的定义。
3.抽象类和方法使用规则。
-----------------------------------------
1.抽象关键字:abstract
抽象就是无法确切的说明,但又有一定的概念或者名称。
2.抽象方法和抽象类的定义
一个类至少有一个方法是抽象的,我们称之为抽象类。
所以如果定义抽象类首先定义抽象方法。
格式:
abstract class class1 {
abstract function fun1();
...
}
注意:1.类中至少有一个抽象方法。;2.抽象方法不允许有{}。;3.抽象方法前面必须加 abstract 。
3.抽象类和方法使用规则
抽象类特点:
1.不能被实例化,只能被继承。
2.继承的派生类当中要把所有抽象方法重载才能被实例化。
格式(不可以实例化):
abstract class cl1 {
abstract function fun1();
...
}
格式(可以实例化):
class cl2 extends cl1 {
function fun1() { //重载抽象方法
}
...
}
---------------------------------------------------
实例:
代码如下 | 复制代码 |
abstract class ChouXiang { } class PaiShengLei extends ChouXiang { $p = new PaiShengLei(); |

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。
