1. 程式人生 > 實用技巧 >PHP面向物件 基本概念

PHP面向物件 基本概念

面向物件介紹

  • 概述

    • 面向物件是一個程式設計思想。程式設計思想有面向過程和麵向物件
      • 面向過程:程式設計思路集中的是過程上
      • 面向物件:程式設計思路集中在參與的物件
  • 好處

    • 多人合作方便
    • 減少程式碼冗餘,靈活性高
    • 程式碼的可重用性發揮到極致
    • 可擴充套件性強
  • 名詞

    • OOP:面向物件程式設計(Object Oriented Programming,面向物件程式設計)
    • OOA: 面向物件分析(Object-Oriented Analysis,OOA)
    • OOD: 面向物件設計(Object-Oriented Design,OOD)

類和物件

  • 概念

    • 物件是具體存在的事物,物件是由屬性(變數)和方法(函式)組成的
    • 類是具有相同屬性和行為的一組物件的集合
    • 一個類可以建立多個物件
  • 理解

    • 物件是由屬性和方法組成的
    • 類是所有物件的相同屬性和方法的集合
    • 在開發的時候先寫類,通過類建立物件,通過物件呼叫方法和屬性
    • 一個類可以建立多個物件

在PHP中實現類和物件

建立類

  • 語法
class 類名{
	//屬性
	//方法
	//常量
}
  • 概念
    • 類是由屬性、方法、常量組成的
    • 也可以說類成員有:屬性、方法、常量

類名的命名規則

  • 規則
    • 以字母、下劃線開頭,後面跟的是字母、數字、下劃線
    • 不能用PHP關鍵字做類名
    • 類名不區分大小寫(變數名區分,關鍵字、類名不區分大小寫)
    • 類名用帕斯卡命名法(大駝峰 單詞的首字母大寫)
<?php
class Student {
    //屬性
	//方法
	//常量
}
?>

物件例項化

  • 通過new關鍵字來例項化物件。
    • 小括號可以省略
<?php
//定義類
class Student {
	//屬性
	//方法
	//常量
}
//例項化物件
$stu1=new Student();
$stu2=new Student;		
var_dump($stu1,$stu2);	
?>

物件的比較

  • 概述
    • 相等:結構和儲存的值一樣就相等
    • 全等:指向同一個物件才是全等
    • 物件的傳遞是地址傳遞
<?php
//定義類
class Student {
	
}
//例項化物件
$stu1=new Student();
$stu2=new Student;
$stu3=$stu2; //物件傳遞的是地址	

var_dump($stu1==$stu2);		//bool(true) ,比較物件的結構
echo '<br>';
var_dump($stu1===$stu2);	//bool(false) $stu1和$stu2是否是同一個物件
echo '<br>';
var_dump($stu2===$stu3);	//bool(true) $stu2和$stu3是同一個物件
?>