php物件導向程式設計筆記(1)

2021-08-11 04:16:29 字數 2698 閱讀 3749

1.世間萬物皆物件(可見,不可見)

2.物件的組成元素:

(1)物件的資料模型,用來描述物件的資料  //描述物件的資料

(2)物件的成員變數,或者物件的成員變數

物件的行為:

(1)物件的行為模型,用於描述物件能做什麼

(2)又稱物件的方法

3.物件的特點

每個物件都是獨一無二

物件是乙個特定的事物,職能是完成特定功能

物件是可以重複使用的

4.什麼是物件導向的基本概念

面向就是程式設計的時候一直把物件放在心上    //比如:面向牆壁,心裡就一直是牆壁

物件導向程式設計就是在程式設計的時候資料結構(資料組織方式)都通過物件的結構進行儲存

屬性、方法

5.為什麼要使用物件導向

物件的描述更加貼合真實的世界,有利於大型業務的理解

在程式設計過程中用物件的視角分析世界的時候能夠拉近程式設計和真實世界的距離

6.物件導向的實質

物件導向就是把生活中的問題都用物件的方式進行儲存

把物件用屬性和方法的方式表示出來       

物件與物件之間通過方法完成互動

方法的呼叫

7.物件導向的基本思路

第一步:識別物件

任何實體都可以被識別為乙個物件

第二步:識別物件屬性

物件裡面儲存的資料被識別為屬性   //桌子有四條腿

對於不同的業務邏輯,關注的資料不同,物件裡面的屬性也不同    //主播:關注她的藝名  nba球員:關注他的所屬球隊

第三步:識別物件的行為

物件自己屬性資料的改變

物件外部互動

8.物件的例子

一張桌子

組成:四條腿、乙個桌面、長寬高、重量

行為;移動它的位置

乙個nba球員

組成:頭、身體、四肢

名字、身高、性別

所在球隊、球員號碼

行為:吃喝拉撒

跑步、跳躍

運球、投籃、扣籃(特殊行為)

9.物件導向的基本原則

物件內部是高內聚的  //該有的都有,不缺胳膊少腿

物件只負責一項特定的職能(職能可大可小)

所有物件相關的內容都封裝到物件內部

物件對外是低耦合的  //聯絡相對較少,開發更靈活

外部世界可以看到物件的一些屬性(並非全部)

外部世界可以看到物件可以做某些事情(並非全部)

10.物件導向實踐

類的概念: //類定義資料怎麼存,物件是存了資料的具體物件

物以類聚,把具體相似特性的物件歸類到乙個類中 //比如詹姆斯、科比可以歸到nba球員的類中

類定義了這些相似物件用有的相同屬性和方法

類是相似物件的描述,成為物件的定義,是該類物件的藍圖或原型

類的物件稱為類的乙個例項 //類的例項化

類的屬性和方法統稱為類成員

類的例項化:

通過類定義建立乙個類的物件 //完整賦予具體資料給詹姆斯相關資料

類的定義裡面屬性值是空,而物件的屬性都有具體的值

類和類的初級例項化的案例

class01.php

<?php

//類的定義以關鍵字class開始,後面加類名稱(一般單詞首字母大寫)。以中括號開始和結束

class nbaplayer

*///建構函式,在物件被例項化的時候自動呼叫 (測試時去掉注釋檢視兩次不同效果)

//析構函式通常用於清理程式使用的資源

public function __construct($name,$height,$weight,$team,$playernumber)

//析構函式,在程式執行結束的時候會自動呼叫 (測試時去掉注釋檢視兩次不同效果)

/*function __destruct()

*///定義方法

public function run()

public function jump()

public function dribble()

public function shoot()

public function dunk()

public function pass()

}//類到物件的例項化

//類的例項化為物件時使用關鍵字new,new之後緊跟類的名稱和一對括號。

/*$jordon=new nbaplayer();

//物件中的屬性成員可以通過->符號來訪問

echo $jordon->name."\n";

//物件中的方法可以通過->符號來訪問

$jordon->dribble();

$jordon->pass();*/    //不帶引數的建構函式,除錯去掉注釋

$tom=new nbaplayer("tom","203cm","97kg","heat","6");

echo $tom->name;   //無法例項化

//通過把變數設定為null,可以觸發析構函式的呼叫。如在$tom=null前加入一句:$tom1=$tom卻不會觸發析構函式

//準確說是當物件不再被使用的時候,會觸發析構函式,在$tom=null前加入的一句換成:$tom1=&$tom就會觸發析構函式

//$tom=null;

echo "分隔符:------------\n";

//php是弱語言不能有多個建構函式,有兩個建構函式一般是為了向下相容(乙個同名的,乙個__construct)

?>

PHP物件導向程式設計 筆記

在慕課網學習了建構函式 construct 在物件例項化後呼叫物件後第一時間觸發析構函式 destroy 在物件例項確認銷毀,且銷毀之前觸發 tostring 當物件被當做string使用時,這個方法會自動呼叫 即物件當做乙個變數使用時,會被觸發 invoke 當物件被當做方法使用時,這個方法會自動...

php學習筆記 PHP物件導向的程式設計

php物件導向的程式設計 php5 陣列和物件 都屬於php的復合型別 乙個變數可以儲存多個單元 物件比陣列更強大,不僅可以儲存多個資料,還可以將函式存在物件中 物件的三大特性 封裝 繼承 多型 物件導向程式設計 oop 符合軟體工程中的 重用性 靈活性 擴充套件性 物件導向和面向過程之間的區別 最...

PHP物件導向程式設計

類中常用關鍵字 1 關鍵字 final 用來定義類和方法的乙個重要關鍵字,當定義類的時候該類將不能被繼承,當用來定義方法的時候該方法將不能被過載 2 關鍵字 self 用來用類訪問當前類中的內容的關鍵字,類似與 this關鍵字,但 this是需要 類例項化以後才可以使用,self 可以直接訪問當前類...