您好,登錄后才能下訂單哦!
面向對象與面向過程的定義:
面向過程:面向過程是一種一過程為中心的編程思想。在面向過程中也可稱為“面向記錄”編程思想 通俗講:在完成一件事情,完成一個功能由開始到結束,通過完成一個一個步驟再進行下一步驟,知道事件的完成,叫面向過程。
面向對象: 面向對象是一種思想是一種以實物為中心的編程思想
2,面向對象主要由兩大塊組成 : 類,對象
類: 用來 定義好某些對象的模板 ,里面有對象的成員屬性(屬性由變量,或者常量組成),成員方法(普通成員方法,構造方法,析構方法)。
對象: 對象是根據該模塊所創造出來的具體物體。一個對象由那些屬性,可以做那些事情 都由類的屬性,方法決定。
3,面向對象的語法:
1,定義類: (類含屬性(變量屬性,成員屬性,靜態屬性)方法(成員方法,靜態方法,構造方法,析構方法))
class Person { $name="張三" //變量屬性 const age =24;//常量屬性 static $sex ="女"; } function __construct ($a,$b) { } function Study() { } function __destruct() { }
2,創建對象:
$對象名1 ->nes Person(); //創建對象 $cname = Person; $對象2->cname();//創建可變類對象 $對象名3 =new self //self 指代表類本身,只能在類的內部方法中使用
3,對象使用: (對象的使用由類決定有什么使用什么) 主要有以下三種方式
3.1 使用類屬性: $Person1 -> name="李四”; 此處相當給屬性賦值
3.2 使用類方法: $Person1->study();
3.3 獲取屬性值 $str = $Person1->name // 將類的屬性值賦予$str
4,對象的傳值:
主要有兩種傳遞方式: 、
值傳遞 :傳遞完之后,有了2份同樣的數據,但兩個變量“相互獨立”沒有關系
引用傳遞:傳遞的時候,拷貝的是引用關系。需要使用“&”才能實現引用傳遞,
傳遞完之后,數據仍然只有一份,但是兩個變量共同指向該數據
值傳遞:
class Person { var $v1 =10; } $p1 = new Person(); $p2 =$p1; $p1->v1=20; echo $p1->v1;//輸出20 echo $p2->v1;//輸出20 此處是將$p1的值傳遞給$p2, 因此在$p1的值改變,$p2的值也跟著改變
引用傳遞: $p3 = new Person();
$p4 =&$p3;
$p3->v1=100;
echo $p3; //輸出100
echo $p4; //輸出100
5,構造方法:
構造方式是類中一個特殊方法,其作用是在實例化一個對象的同時,給該對象的
屬性賦值,使對象創建完成后就具有本身的特有的數據(屬性值)
6.1 構造方法的名字是固定為: __construct();
6.2,該方法必須是普通方法,(不能靜態方法)
6.3 通常該方法中使用$this這個關鍵字來對屬性值進行賦值
6.4 當new 新對象的時候,就已經調用該構造方法
6.5 定義了構造方法,實例化該類時就調用該方法,且實例化的參數跟構造方法的
class Person { public $name = "abc"; public $age = "18"; function __construct($n,$a) { $this->name= $n; $this->age= $a; } function intro($a,$b) { echo "大家好我叫 .$this->name .年齡.$this->age"; } } $Person1=new Person('cba',20); //可以看作調用構造方法 $Person1->intro(); //輸出大家好我叫 cba年齡20
6,析構方法:function __destruct(){.....}
構造方法是“創建”對象的時候會自動調用。
析構方法是“銷毀”對象的時候會自動調用。
說明:
1,析構方法通常不太需要去定義。
2,析構方法不能調用。
3,析構方法不能有形參。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。