首頁 > 後端開發 > PHP問題 > php方法體是什麼

php方法體是什麼

青灯夜游
發布: 2023-03-18 06:22:01
原創
3651 人瀏覽過

在php中,方法的定義包括兩個部分:方法的宣告和方法體,語法「方法宣告部分{方法體的部分}」;而方法宣告後的一對大括號以及中間的內容就稱之為方法的方法體,方法體的內容包括局部變數的宣告和php語句。簡單來說,方法體就是一個方法的程式碼區塊,也就是花括號包裹部分。

php方法體是什麼

本教學操作環境:windows7系統、PHP8版、DELL G3電腦

php方法體是什麼

一個類別的類別是有兩個部分組成:變數的宣告和方法的定義。方法的定義包括兩個部分:方法的宣告和方法體

方法声明部分{
方法体的部分
}
登入後複製

在方法宣告後的一對大括號以及中間的內容就稱之為方法的方法體,方法體的內容包括局部變量的聲明和php語句。

簡單來說:方法體是一個方法的程式碼區塊即花括號包裹部分。

PHP 類別、物件與方法

#一、類別和物件的關係

  類別的實體化結果是對象,而物件的抽象就是類別。在開發過程中,我們通常都是先抽象(幻想)出一個類,再用該類去創建物件(實現幻想的內容)。在程式中,直接使用的是我們(實現幻想)的對象,而不是抽象(幻想)的類別。

二、如何抽象化一個類別

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(&#39;张三&#39;);             //创建对象$person2时会自动执行构造方法,传入第一个参数,其他默认传参
    $person3 = new Person(&#39;李四&#39;,&#39;男&#39;);        //创建对象$person3时会自动执行构造方法,传入前两个参数,其他默认传参
    $person4 = new Person(&#39;王五&#39;,&#39;女&#39;,&#39;20&#39;);   //创建对象$person4时会自动执行构造方法,传入所有参数
    
    $person1 ->say();
    $person2 ->say();
    $person3 ->say();
    $person4 ->say();
?>
登入後複製

運行結果

php方法體是什麼

2、析構方法

  物件在銷毀之前最後一個被物件自動呼叫的方法,先創建傳入變數後銷毀

<?php 
    header(&#39;Content-type:text/html;charset=utf-8&#39;);
    // 定义一个汽车的类
    class car{
        // 成员属性
        public $name;
        public $color;

        //构造方法
        public function __construct($name,$color){
            $this->name = $name;
            $this->color = $color;
            echo "你创建了".$this->name.&#39;<br>&#39;;
        }

        // 析构方法
        public function __destruct(){
            echo "你销毁了".$this->name.&#39;<br>&#39;;
        }
    }

    // 实例化对象
    $hanma = new car(&#39;悍马&#39;,&#39;粉色&#39;,&#39;H2&#39;);
    $bmw = new car(&#39;宝马&#39;,&#39;红色&#39;,&#39;X7&#39;);
    $benchi = new car(&#39;奔驰&#39;,&#39;黑色&#39;,&#39;s600&#39;);

    // unset($bmw);
    $bmw = &#39;1111&#39;;
 ?>
登入後複製

運行結果

php方法體是什麼

如果我們不引用變量,創建完物件之後就會銷毀。

<?php 

    header(&#39;Content-type:text/html;charset=utf-8&#39;);

    // 定义一个汽车的类
    class car{
        // 成员属性
        public $name;
        public $color;

        //构造方法
        public function __construct($name,$color){
            $this->name = $name;
            $this->color = $color;
            echo "你创建了".$this->name.&#39;<br>&#39;;
        }

        // 析构方法
        public function __destruct(){
            echo "你销毁了".$this->name.&#39;<br>&#39;;
        }
    }

    // 实例化对象
    new car(&#39;悍马&#39;,&#39;粉色&#39;,&#39;H2&#39;);
    new car(&#39;宝马&#39;,&#39;红色&#39;,&#39;X7&#39;);
    new car(&#39;奔驰&#39;,&#39;黑色&#39;,&#39;s600&#39;);

 ?>
登入後複製

運行結果

php方法體是什麼

推薦學習:《PHP影片教學

以上是php方法體是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板