這篇文章主要介紹php類和對象有什么關系,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

面向對象(Object Oriented,OO)是軟件開發方法。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。下面我們為大家介紹一下php中類與對象的關系。
一、類和對象的關系
類的實體化結果是對象,而對象的抽象就是類。在開發過程中,我們通常都是先抽象(幻想)出一個類,再用該類去創建對象(實現幻想的內容)。在程序中,直接使用的是我們(實現幻想)的對象,而不是抽象(幻想)的類。
二、面向對象和面向過程
1、什么是面向過程
面向過程就好比一個人 自己洗衣服、做飯,什么事情都是自己解決
2、什么是面向對象
面向對象就是那個人有了對象,讓對象去洗衣服、做飯。
三、如何抽象一個類
class 類名{
成員屬性:
姓名、性別、年齡、身高、體重
成員方法:
說話、走路、學習、吃飯、開車
}所有的類都是從成員屬性和成員方法這兩方面去聲明,屬性和方法都是類中的成員,所以屬性又叫做成員屬性,方法又叫做成員方法
1、成員屬性 -->特征
在對象中直接聲明變量就稱為成員屬性,可以在類中聲明多個成員變量,即對象中可以有多個成員屬性
class Person{
var $name; //聲明第一個成員屬性,用于儲存人的名字
var age; //聲明第一個成員屬性,用于儲存人的年齡
var $sex; //聲明第一個成員屬性,用于儲存人的性別
}2、成員方法 -->功能
class Person{
var $name; //聲明第一個成員屬性,用于儲存人的名字
var $age; //聲明第一個成員屬性,用于儲存人的年齡
var $sex; //聲明第一個成員屬性,用于儲存人的性別
function say(){ //聲明第一個方法
echo '人在說話'; //定義人說話的功能
}
function run(){ //聲明第二個方法
echo '人在跑步'; //定義人跑步的功能
}
function eat(){ //聲明第三個方法
echo '人在吃飯'; //定義人吃飯的功能
}
}對象就是把相關的屬性和方法組織在一起。其中成員屬性和成員方法都是可以選的,可以只有成員屬性,也可以只有成員方法,也可以沒有成員。
四、實例化對象
一個類可以聲明多個對象,讓對象去訪問成員屬性和成員方法
class Person{
var $name; //聲明第一個成員屬性,用于儲存人的名字
var $age; //聲明第一個成員屬性,用于儲存人的年齡
var $sex; //聲明第一個成員屬性,用于儲存人的性別
function say(){ //聲明第一個方法
echo '人在說話'; //定義人說話的功能
}
function run(){ //聲明第二個方法
echo '人在跑步'; //定義人跑步的功能
}
function eat(){ //聲明第三個方法
echo '人在吃飯'; //定義人吃飯的功能
}
}
// 實例化對象
$sqyy = new Person();
//成員屬性賦值
$sqyy -> name = "伊川";
$sqyy -> sex = "男";
$sqyy -> age = 26;
//訪問對象中的成員方法
$sqyy->eat();五、特殊的對象引用 "$this"
上面的示例中,我們是實例化一個對象之后再給成員屬性賦值和訪問成員方法的。那么 $this也可以在成員方法中使用,代表的是當前的這個對象
成員方法調用前的對象是誰,$this就代表誰
class Person{
var $name;
function info(){
$this ->name = "SQYY";
}
}六、構造方法與析構方法
1、構造方法
構造方法是對象創建完成后第一個被對象自動調用的方法,會初始化這個對象,當使用new關鍵字實例化對象時會自動觸發。
<?php
class Person{
//下面是聲明人的成員屬性,都是沒有初始值的,在創建對象時,使用構造方法賦給初始值
var $name; //定義人的名字
var $sex; //定義人的性別
var $age; //定義人的年齡
function __construct($name="SQYY",$sex="男",$age=1){
$this -> name = $name; //在創建對象時,使用傳入的參數$name為成員屬性 $this->name賦初值
$this -> sex = $sex; //在創建對象時,使用傳入的參數$sex為成員屬性 $this->sex賦初值
$this -> age = $age; //在創建對象時,使用傳入的參數$sex為成員屬性 $this->age賦初值
}
//下面聲明人的成員方法
function say(){
echo "我的名字:" .$this ->name. " ,性別:" .$this -> sex ." 年齡" .$this ->age. "。<br>";
}
}
$person1 = new Person(); //創建對象$person1時會自動執行構造方法,默認傳參
$person2 = new Person('張三'); //創建對象$person2時會自動執行構造方法,傳入第一個參數,其他默認傳參
$person3 = new Person('李四','男'); //創建對象$person3時會自動執行構造方法,傳入前兩個參數,其他默認傳參
$person4 = new Person('王五','女','20'); //創建對象$person4時會自動執行構造方法,傳入所有參數
$person1 ->say();
$person2 ->say();
$person3 ->say();
$person4 ->say();
?>運行結果

2、析構方法
對象在銷毀之前最后一個被對象自動調用的方法,先創建 傳入變量后銷毀
<?php
header('Content-type:text/html;charset=utf-8');
// 定義一個汽車的類
class car{
// 成員屬性
public $name;
public $color;
//構造方法
public function __construct($name,$color){
$this->name = $name;
$this->color = $color;
echo "你創建了".$this->name.'<br>';
}
// 析構方法
public function __destruct(){
echo "你銷毀了".$this->name.'<br>';
}
}
// 實例化對象
$hanma = new car('悍馬','粉色','H2');
$bmw = new car('寶馬','紅色','X7');
$benchi = new car('奔馳','黑色','s600');
// unset($bmw);
$bmw = '1111';
?>運行結果

如果我們不引用變量,創建完對象之后就會銷毀。
<?php
header('Content-type:text/html;charset=utf-8');
// 定義一個汽車的類
class car{
// 成員屬性
public $name;
public $color;
//構造方法
public function __construct($name,$color){
$this->name = $name;
$this->color = $color;
echo "你創建了".$this->name.'<br>';
}
// 析構方法
public function __destruct(){
echo "你銷毀了".$this->name.'<br>';
}
}
// 實例化對象
new car('悍馬','粉色','H2');
new car('寶馬','紅色','X7');
new car('奔馳','黑色','s600');
?>運行結果

以上是php類和對象有什么關系的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯成都網站設計公司行業資訊頻道!
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:php類和對象有什么關系-創新互聯
本文來源:http://www.yijiale78.com/article2/phioc.html
成都網站建設公司_創新互聯,為您提供Google、ChatGPT、品牌網站設計、網站策劃、電子商務、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯